[英]Different parameters for dev and production environments using Gradle
在具有使用Android Studio IDE配置的Gradle構建的Android Java項目中,我希望變量根據構建環境而變化。
例如,如果有一個public static final boolean USE_LOCAL_BACKEND = false;
在Utils.java中,生產應該始終具有false
值,開發人員可能希望使用本地服務器進行調試true
。
我不是Gradle的專家,所以我希望您能獲得一份詳細的指南,該指南詳細介紹了如何將我的項目配置為針對每個環境具有兩個不同的properties
文件,每個properties
文件具有相同的鍵但具有不同的值。
到目前為止,最簡單的解決方案是將USE_LOCAL_BACKEND
移到BuildConfig
:
android {
// other stuff here
buildTypes {
debug {
buildConfigField "String", "SERVER_URL", '"http://test.this-is-so-fake.com"'
}
release {
buildConfigField "String", "SERVER_URL", '"http://prod.this-is-so-fake.com"'
}
mezzanine.initWith(buildTypes.release)
mezzanine {
buildConfigField "String", "SERVER_URL", '"http://stage.this-is-so-fake.com"'
}
}
}
在這里,我在BuildConfig
為三種構建類型( debug
, release
和一種自定義mezzanine
)定義SERVER_URL
String
字段。 您可以對boolean
USE_LOCAL_BACKEND
做同樣的事情。 然后,您將在Java代碼中將其稱為BuildConfig.USE_LOCAL_BACKEND
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.