web-dev-qa-db-ja.com

Android 'debuggable'のデフォルト値

コードからアプリケーションのデバッグ可能な属性値を取得しようとしています:

packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);           
int flags = packageInfo.applicationInfo.flags;
isDebugMode = (flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;

そして、マニフェストでdebuggable属性が指定されていない場合、このコードはそれをtrueとして定義していることに気づきました。また、ドキュメントには、デフォルトではfalseであると記載されています。

どうしましたか?

23
darja

From SDK Tools :( SDK Tools、リビジョン8(2010年12月))

真のデバッグビルドのサポート。開発者は、マニフェストのAndroid:debuggableタグに<application>属性を追加する必要がなくなりました—ビルドツールは属性を自動的に追加します。 Eclipse/ADTでは、すべてのインクリメンタルビルドはデバッグビルドであると見なされるため、ツールはAndroid:debuggable="true"。署名付きリリースビルドをエクスポートする場合、ツールは属性を追加しません。 Antでは、ant debugコマンドがAndroid:debuggable = "true"を自動的に挿入します属性、ant releaseはそうではありません。 Android:debuggable = "true"が手動で設定されている場合、ant releaseは、リリースビルドではなく、実際にデバッグビルドを実行します。

74
OcuS