2016-06-27 3 views
0

Android Doc에 따르면 Android 앱은 기본적으로 디버깅 할 수 없습니다.Android 앱이 기본적으로 디버그되지 않는 이유는 무엇입니까?

안드로이드 : 디버깅 응용 프로그램을 디버깅 할 수 있는지 여부를

, 사용자 모드에서 장치에서 실행되는 경우에도 - "true"로이 될 수 있다면, 아니라면 "거짓 false"이다. 기본값은 "false"입니다.

이제 기본 단계를 통해 Android Studio에서 가장 간단한 앱을 만들면됩니다.

  • AndroidManifest.xml에는 android:debuggable 지정이 없습니다.

  • build.gradle 기본값은 buildTypes 아래에 디버그 가능 지정자를 포함하지 않습니다.

Android 문서의 경우 기본적으로 앱을 디버그 할 수 없습니다.

그러나 Android Studio로 항상 새로 만든 앱을 디버깅 할 수 있습니다.

왜?

답변

1

이 다음 포스트 잘 do not use debugabble attribute

는 여기에서 중요한 사항은 그것을 설명합니다.

Android 개발자가 자신의 앱 매니페스트 파일의 디버그 가능 속성을 업데이트하고 디버깅을 위해 'true'로 설정하고 새 서명 된 패키지를 출시하기 직전에 'false'로 설정해야하는시기가있었습니다.

그러나이 시간은 2010 년 12 월에지나갔습니다. 모든 개발자가 알아 채지는 못했지만, 많은 사람들이 수동으로 디버깅 가능한 스위칭을 계속합니다. SDK 도구에서

http://developer.android.com/tools/sdk/tools-notes.html

개정 8 : 진정한 디버그 빌드에 대한

지원. 개발자는 더 이상 manifest의 태그에 android : debuggable 속성을 추가 할 필요가 없습니다. 빌드 도구는 속성을 자동으로 추가합니다. Eclipse/ADT에서 모든 증분 빌드는 디버그 빌드로 간주되므로 도구는 android : debuggable = "true"를 삽입합니다. 서명 된 릴리스 빌드를 내보낼 때 도구는 특성을 추가하지 않습니다. Ant에서 ant 개조 명령은 자동으로 android : debuggable = "true"속성을 삽입하고 ant 개연성은 삽입하지 않습니다. Ifandroid : debuggable = "true"가 수동으로 설정되면 개미 릴리스는 실제로 릴리스 빌드가 아닌 디버그 빌드를 수행합니다. 그래서 대부분의 경우에 할 수있는 가장 좋은 방법은 속성을 전혀 다루지 않는 것입니다. 그러면 서명 된 버전을 내보낼 때 디버그 데이터가 포함되지 않도록 할 수 있습니다.

유일한 예외는 포함 된 디버그 정보가 포함 된 서명 된 패키지를 실제로 배포해야하는 경우입니다. 일반적인 경우는 아닙니다 ...

관련 문제