1. ホーム
  2. android

[解決済み] リリースモードかデバッグモードかを判断するにはどうすればよいですか?

2022-03-22 22:53:43

質問

自分のコードがリリースモードかデバッグモードかを判断するにはどうすればよいですか?

どのように解決するのですか?

最もシンプルで、長期的な解決策としては BuildConfig.DEBUG . これは boolean となる値です。 true デバッグビルドの場合 false それ以外の場合は

if (BuildConfig.DEBUG) {
  // do something for a debug build
}

この値はEclipseベースのビルドからは100%信頼できないという報告がありますが、私自身は問題に遭遇していないので、実際どの程度の問題なのかはわかりません。

Android Studioを使用している場合、またはコマンドラインからGradleを使用している場合は、自分で用意したものを BuildConfig を変更したり、あるいは debugrelease のビルドタイプを使用することで、実行時にこれらの状況を区別しやすくなります。

Illegal Argumentからの解決策は、その値を元に android:debuggable フラグを使用します。もし、それが "debug" ビルドと "release" ビルドを区別する方法であれば、定義上、それは最良の解決策です。ただし、今後は debuggable フラグは、Gradle/Android Studio が考える "debug" ビルドとは、実際には独立した概念です。どのようなビルドタイプでも、デバッグフラグを設定することができます。 debuggable フラグに、その開発者やビルドタイプにとって意味のある任意の値を設定します。