我想将我的Android应用程序与Travis CI集成。我的应用程序需要一个API密钥,这不应该被发布在仓库中。因此,我将我的API密钥放在全局Gradle属性文件~/.gradle/gradle.properties
中:
MY_SECRET_API_KEY="aaaabbbcccdddeeefff"
然后我在 app/build.gradle
文件中读取这个值(该文件位于公共存储库中),并将其设置为 buildconfig 字段:
apply plugin: 'com.android.application'
android {
// ...
buildTypes.each {
it.buildConfigField "String", "API_KEY", MY_SECRET_API_KEY
}
// ...
}
在应用程序代码中,通过访问 BuildConfig.API_KEY
使用此 API 密钥。
我从 Travis CI 收到以下错误消息: 在 com.android.build.gradle.AppExtension_Decorated 上找不到属性 'MY_SECRET_API_KEY'。
gradle.properties
只存在于我的本地机器上。 - Maxgradle.properties
文件。我的问题是,是否有一种方法可以配置Gradle(或Travis CI)在不发布gradle.properties
到存储库的情况下构建我的项目。 - Max