Android-根据口味更改Gradle.properties

时间:2019-06-26 15:25:43

标签: android react-native gradle build.gradle

我正在使用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值。

请让我知道我能做什么!

1 个答案:

答案 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

访问此变量