我刚刚转到android gradle构建系统,我不清楚如何设置常量值.
我有
API.java 其中包含
BASE_URL = "http://debug.server.com"
Run Code Online (Sandbox Code Playgroud)
但是当gradle这个构建版本我需要的BASE_URL是"http://release.server.com"
如何在构建时替换此值?
Fif*_*eep 21
Gradle生成一个名为的类BuildConfig,其中包含静态成员(例如boolean DEBUG,对于调试变体,它设置为true).
你可以在java中查询这样:
if (BuildConfig.DEBUG) {
BASE_URL = "http://debug.server.com"
} else {
BASE_URL = "http://release.server.com"
}
Run Code Online (Sandbox Code Playgroud)
或者与单线相同:
BASE_URL = BuildConfig.DEBUG ? "http://debug.server.com" : "http://release.server.com"
Run Code Online (Sandbox Code Playgroud)
要么
您可以使用gradle 实际设置类的BASE_URL内部,BuildConfig如下所示:
android {
buildTypes {
debug {
buildConfigField "String", "BASE_URL", '"http://debug.server.com"'
}
release {
buildConfigField "String", "BASE_URL", '"http://release.server.com"'
}
}
}
Run Code Online (Sandbox Code Playgroud)
请注意gradle中值的单引号和双引号,正如其他人在评论中提到的那样.这样,双引号就成了价值的一部分.
因此,静态引用BuildConfig.BASE_URL将指向相应的URL(即"debug.server.com"用于调试,"release.server.com"用于发布)
| 归档时间: |
|
| 查看次数: |
4586 次 |
| 最近记录: |