どして BuildConfig.DEBUG
アプリケーションを実行するとfalseを返しますか?
次のようにログを制御するために使用します。
public static void d(String LOG_TAG, String msg){
if(BuildConfig.DEBUG){
Log.d(LOG_TAG,msg);
}
}
あなたのAndroid Studio ビルドバリアントあなたはデバッグバリアントですか?
これは、flavors
またはdebug
のいずれかにrelease
を使用する場合に適用されます。
デバッグモードでは、BuildConfig.BUILD
は真であり、リリースモードでは偽です。
クラスのインポートをチェックし、正しいBuildConfigパスを使用していることを確認してください。 BuildConfigは、アプリからではなく、一部のライブラリから使用できます。
そのコードがライブラリにある場合、 gradleの3年前のバグ のおかげで、常にfalseになります。
おそらく理想的ではありませんが、私は自分で作成することになりました
buildTypes {
debug {
buildConfigField "boolean", "IS_DEBUG", "true" // Had issues with BuildConfig.DEBUG, created IS_DEBUG to ensure functionality behaved as expected.
}
release {
signingConfig signingConfigs.release
buildConfigField "boolean", "IS_DEBUG", "false"
}
}
そして、プログラムでBuildConfig.IS_DEBUG
のように対処します。
間違ったパッケージをインポートしている可能性があります。確認してください。 (一部のAndroidライブラリにもBuildConfigクラスがあります)
この問題には回避策があります。
アプリ
dependencies {
releaseCompile project(path: ':library', configuration: 'release')
debugCompile project(path: ':library', configuration: 'debug')
}
ライブラリ
Android {
publishNonDefault true
}
クラスの最上位にあるビルド構成の自動インポートステートメントがプロジェクトに属していることを確認します。
com.your.package.name.BuildConfig
BuildConfig
インポートはリリースされたライブラリに属している可能性があります。DEBUG
はfalseです。