我正在build.gradle中定义resValue,如下所示
defaultConfig {
................................
................................
resValue "string", "google_api_web_client_id", google_api_web_client_id
}
该值位于gradle.properties
文件中。
我想要的是为调试版本设置一个单独的值,但是变量名称应该相同google_api_web_client_id
。
在我的gradle.properties
文件中,我放置了以下
geo_api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
geo_api_key_debug=xxxxxxxxxxxxxxxxxxyyyyyyyyyyyyy
我想要的是,当构建类型为debug时,它将自动获取调试值,如果为release,则它将获取release值。 我可以通过定义常量来做到这一点,但在那种情况下,我必须将这些值放在build.gradle中。我不想的。
我该怎么做?
答案 0 :(得分:2)
你可以这样写
buildTypes {
debug {
resValue 'string', 'google_api_web_client_id', 'debug_key'
}
release {
resValue 'string', 'google_api_web_client_id', 'release_key'
}
}
答案 1 :(得分:1)
您可以按照以下步骤进行操作,
buildTypes {
release {
buildConfigField "String", "google_api_web_client_id", "YUOR_CLIEN_ID"
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
buildConfigField "String", "google_api_web_client_id", "YUOR_CLIEN_ID"
}
}
答案 2 :(得分:1)
我认为这可以帮助您和其他有类似问题的人
在您的 gradle.properties
MY_GOOGLE_API_KEY = "234235623"
在您的 build.gradle
(应用程序)中
release {
if (project.hasProperty('MY_GOOGLE_API_KEY')) {
resValue 'string', MY_GOOGLE_API_KEY, 'release_key'
}
}