Kotlin表达式判定为true却走else分支的Android库模块问题
Android库模块自定义BuildType引发的BuildConfig异常与编译问题
配置情况
我的Android应用包含一个库模块,该模块的build.gradle中定义了如下buildTypes配置:
buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } create("full") { debuggable true buildConfigField "String", "BUILD_TYPE", "\"full\"" } }
遇到的问题
- 执行清理重建操作后,调试时显示
BuildConfig.BUILD_TYPE的值为full,表达式BuildConfig.BUILD_TYPE == "full"判定结果为true,但代码却进入了else分支;触发对应函数的按钮点击后,断点直接失效。 - 尝试去掉转义字符,将
BUILD_TYPE的设置改为"full"时,出现编译错误,错误信息如下:
com\..\..\BuildConfig.java:10: error: cannot find symbol public static final String BUILD_TYPE = full; ^ symbol: variable full location: class BuildConfig
环境信息
- Android Gradle Plugin Version:8.0.1
- Gradle Version:8.0
- minSdk:2
- targetSdk:33
- Kotlin Version:org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.20
内容的提问来源于stack exchange,提问作者woberto
相关产品推荐
相关产品推荐

