我正在使用React Native构建一个Android应用,并且在配置某些API密钥时遇到了麻烦。
我的Gradle.properties
中有我的API密钥之一
RNGP_ANDROID_API_KEY=mysupersecretkey
我有两种不同的口味:用于测试的beta和用于生产的prod。
我想用两种方式覆盖RNGP_ANDROID_API_KEY
像这样:
flavorDimensions 'env'
productFlavors {
beta {
dimension 'env'
applicationId "com.fake.package"
signingConfig signingConfigs.release
manifestPlaceholders=[google_api:"beta_key"]
}
prod {
dimension 'env'
applicationId "com.fake.package"
signingConfig signingConfigs.release
manifestPlaceholders=[google_api:"prod_key"]
}
}
它可以很好地覆盖清单中的值,但我不知道如何更改Gradle.properties
值。
请让我知道我能做什么!
答案 0 :(得分:0)
代替编写Gradle.properties
尝试如下使用它,
flavorDimensions 'env'
productFlavors {
beta {
dimension 'env'
applicationId "com.fake.package"
signingConfig signingConfigs.release
manifestPlaceholders=[google_api:"beta_key"]
buildConfigField 'String', 'RNGP_ANDROID_API_KEY', '"mysupersecretkey"'
}
prod {
dimension 'env'
applicationId "com.fake.package"
signingConfig signingConfigs.release
manifestPlaceholders=[google_api:"prod_key"]
buildConfigField 'String', 'RNGP_ANDROID_API_KEY', '"mysupersecretkey"'
}
}
您可以通过BuildConfig.RNGP_ANDROID_API_KEY