コードからアプリケーションのデバッグ可能な属性値を取得しようとしています:
packageInfo = context.getPackageManager().getPackageInfo(packageName, 0);
int flags = packageInfo.applicationInfo.flags;
isDebugMode = (flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0;
そして、マニフェストでdebuggable属性が指定されていない場合、このコードはそれをtrueとして定義していることに気づきました。また、ドキュメントには、デフォルトではfalseであると記載されています。
どうしましたか?
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
は、リリースビルドではなく、実際にデバッグビルドを実行します。