当我在调试模式下时,我有一个我想用src / debug / java版本覆盖的变量:
public static final boolean DEBUG = true;
我尝试将src / debug / java中的变量设置为true,将src / main / java设置为false,但不会覆盖它。有没有办法做到这一点或解决方法?
我在build.gradle中尝试了以下内容,但无论是发布模式还是调试模式,它都是
debug {
buildConfigField "boolean", "REPORT_CRASHES", "false"
}
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
buildConfigField "boolean", "REPORT_CRASHES", "true"
}
我的java:
Log.d(TAG, "BuildConfig.REPORT_CRASHES: " + BuildConfig.REPORT_CRASHES);
// Both debug and release versions display 'true'
答案 0 :(得分:1)
根据this blog上的示例,您可以在gradle文件中使用buildConfigField
向BuildConfig
类添加其他变量:
defaultConfig {
....
buildConfigField "boolean", "DEBUG_FLAG", "false"
}
buildTypes {
debug {
buildConfigField "boolean", "DEBUG_FLAG", "true"
}
...
}
然后使用BuildConfig.DEBUG_FLAG
在代码中引用它。请注意,BuildConfig
已包含DEBUG
标记,除true
版本外,其他所有标记均为release
。
答案 1 :(得分:0)
你应该使用你的com.main.module.BuildConfig VS你的com.dependency.module.BuildConfig ...这将解决所有问题。