SDK 34(API 13)中Kotlin BuildConfig废弃,如何替代BuildConfig.DEBUG?
解决方案
方法1:重新启用BuildConfig生成
AGP 8.0及以上版本默认关闭了BuildConfig类的生成,你需要在模块的build.gradle(或build.gradle.kts)中手动开启:
Groovy 语法(build.gradle)
android { buildFeatures { buildConfig true } }
Kotlin DSL 语法(build.gradle.kts)
android { buildFeatures { buildConfig = true } }
开启后同步项目,就能正常使用BuildConfig.DEBUG了。
方法2:通过ApplicationInfo判断调试状态
如果不想启用BuildConfig,可以直接通过系统API判断应用是否处于可调试状态,效果和BuildConfig.DEBUG完全一致:
// 在Application类中使用 val isDebug = applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE != 0
生产环境打包时,Android构建工具会自动将FLAG_DEBUGGABLE置为false,调试构建则为true,足以满足你控制日志执行的需求。
另外,你之前添加的kotlin.reflect.optIn配置和BuildConfig的问题无关,无需保留。
内容的提问来源于stack exchange,提问作者Shimon Rothschild
相关产品推荐
相关产品推荐

