【发布时间】:2019-07-12 09:44:57
【问题描述】:
我正在使用 buildConfigField 将调试和发布服务器 Ip 和其他字符串文字传递给应用程序。
像这样:
buildTypes {
debug {
buildConfigField "String", "url", "\"http:\\xxxxxxx.xx\""
}
release {
buildConfigField "String", "url", "\"http:\\ppppppp.xx\""
}
}
但我遇到了一个问题,即我的应用在调试模式下可以与多个测试服务器通信。有时我将它指向我的本地网络 Ip,如果我不在工作场所,我将它指向远程测试服务器。
我现在面临的问题是,每当我想更改配置时,我都必须在此处输入整个 IP 地址:
debug {
buildConfigField "String", "url", "\"http:\\xxxxxxx.xx\""
}
我有一个已经定义了这些 IP 地址的 Kotlin 文件:
object API {
const val URL_MAIN = "http://19.544...."
const val URL_TEST_LOCAL = "http://192.16...."
const val URL_TEST_REMOTE = "http://19.554...."
}
有没有办法通过 gradle 文件而不是键入来访问这个变量。
编辑: 我将这些 url 放在 Kotlin 类中,因为我也需要在我的项目中使用它的值。
【问题讨论】:
-
使用
BuildConfig类,它将为您提供来自 buildConfigFields 的所有可用变量。
标签: android kotlin android-gradle-plugin