gpt4 book ai didi

java - 如何覆盖 Android debug、release、main 中的变量?

转载 作者:行者123 更新时间:2023-12-01 11:42:29 25 4
gpt4 key购买 nike

当我处于 Debug模式时,我想用 src/debug/java 版本覆盖一个变量:

public static final boolean DEBUG = true;

我尝试将 src/debug/java 中的变量设置为 true,将 src/main/java 中的变量设置为 false,但它没有被覆盖。有办法做到这一点或解决方法吗?

我在 build.gradle 中尝试了以下操作,但无论发布还是 Debug模式,它

    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'

最佳答案

按照 this blog 上的示例,您可以在 gradle 文件中使用 buildConfigFieldBuildConfig 类添加其他变量:

defaultConfig {
....
buildConfigField "boolean", "DEBUG_FLAG", "false"
}

buildTypes {
debug {
buildConfigField "boolean", "DEBUG_FLAG", "true"
}
...
}

然后使用 BuildConfig.DEBUG_FLAG 在代码中引用它。请注意,BuildConfig 已包含一个 DEBUG 标志,该标志在除 release 构建之外的所有构建中均为 true

关于java - 如何覆盖 Android debug、release、main 中的变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29420091/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com