Почему BuildConfig.DEBUG
возвращает false, когда я запускаю приложение?
Я использую его для управления журналом, как показано ниже:
public static void d(String LOG_TAG, String msg){
if(BuildConfig.DEBUG){
Log.d(LOG_TAG,msg);
}
}
Почему 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
имеет значение true, а в режиме выпуска - false.
Проверьте импорт в классе, убедитесь, что вы используете правильный путь BuildConfig. Вы можете использовать BuildConfig не из своего приложения, а из какой-либо библиотеки.
Если этот код находится в библиотеке, он всегда будет ложным, благодаря 3-летняя ошибка в gradle.
Существует проблема с проблемой:
приложения
dependencies {
releaseCompile project(path: ':library', configuration: 'release')
debugCompile project(path: ':library', configuration: 'debug')
}
Библиотека
android {
publishNonDefault true
}
Возможно, не идеальный, но в итоге я создал свой собственный
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)
Я указал debuggable true
в build.config, но это всегда было всегда ложно
После этого изменения все работало правильно: