コード内でリリース モードまたはデバッグ モードになっていることを検出するにはどうすればよいですか?
ベストアンサー1
最も簡単で長期的な解決策としては、 を使用することですBuildConfig.DEBUG
。これはデバッグ ビルドの場合はboolean
となり、それ以外の場合は次の値になります。true
false
if (BuildConfig.DEBUG) {
// do something for a debug build
}
この値は Eclipse ベースのビルドでは 100% 信頼できるわけではないという報告がありますが、個人的には問題に遭遇したことがないので、実際にどの程度の問題なのかはわかりません。
Android Studio を使用している場合、またはコマンドラインから Gradle を使用している場合は、実行時にこれらの状況を区別できるように、独自のものを追加したり、ビルドタイプBuildConfig
を調整したりすることができます。debug
release
android:debuggable
Illegal Argument の解決策は、マニフェストのフラグの値に基づいています。これが「デバッグ」ビルドと「リリース」ビルドを区別する方法である場合、定義上、これが最善の解決策です。ただし、今後は、debuggable
フラグは実際には Gradle/Android Studio が「デバッグ」ビルドと見なすものから独立した概念であることに注意してください。どのビルド タイプでも、その開発者とそのビルド タイプに適した任意の値にフラグを設定できますdebuggable
。