我嘗試將我的android應用程序與Travis CI集成。我的應用程序需要一個API密鑰,不應該在回購中發佈。所以,我把我的API密鑰全球gradle這個屬性文件~/.gradle/gradle.properties
:如何爲特拉維斯CI構建模擬Gradle的buildConfigField?
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密鑰。
我從Travic CI得到以下錯誤消息: 在com.android.build.gradle.AppExtension_Decorated上找不到屬性'MY_SECRET_API_KEY'。
所以gradle.properties是你的本地計算機上? – RaGe
@RaGe,是的。 'gradle.properties'只在我的本地機器上 – Max
travis在遠程服務器上嗎?它不能看到你的gradle.properties? – RaGe