将字符串构建到Android.apk中,但不受源代码控制

将字符串构建到Android.apk中,但不受源代码控制,android,gradle,android-gradle-plugin,Android,Gradle,Android Gradle Plugin,如何在构建时获取环境变量,并使其在应用程序运行时作为R.string.api\u key可用?典型的模式是将字符串放入gradle.properties: API_KEY=whatever-it-is 如果您确实希望它成为字符串资源,那么可以在build.gradle中使用: defaultConfig { // other stuff here resValue "string", "api_key", API_KEY } (作为gradle.properties中的值作为

如何在构建时获取环境变量,并使其在应用程序运行时作为
R.string.api\u key
可用?

典型的模式是将字符串放入
gradle.properties

API_KEY=whatever-it-is
如果您确实希望它成为字符串资源,那么可以在
build.gradle
中使用:

defaultConfig {
    // other stuff here
    resValue "string", "api_key", API_KEY
}
(作为
gradle.properties
中的值作为全局变量公开给gradle脚本)

或者,如果需要Java代码中的值,可以使用:

然后将其引用为
BuildConfig.API\u KEY

当然,不要将
gradle.properties
检查到版本控制中

defaultConfig {
    // other stuff here
    buildConfigField "String", "API_KEY", '"'+API_KEY+'"'
}