[英]How do I set environment-specific system properties with AppAssembler?
[英]How do I set environment properties on Android Apps?
我的Android應用程序調用了Rest Service,我想選擇我的應用程序連接到的環境(例如本地開發,暫存或生產)。 理想情況下,我想擁有一個屬性(例如SERVICE_HOST),並且每個環境具有不同的值。
在服務器端Java中,我可以傳入一個JVM變量(-DENVIRONEMNT = production),然后屬性加載器將根據該變量讀取正確的屬性文件。
Android中有任何等效的方法嗎? (或可以解決我的問題的替代方法)
我想選擇我的應用連接到的環境(例如本地開發,暫存或生產)
如果您使用的是Android Studio,則這些將映射為構建類型 。 預先建立了兩種構建類型: debug
和release
。 您可以在app
模塊的build.gradle
文件中定義更多內容。 並且,您可以定義每個構建類型的常量。
例如:
buildTypes {
debug {
applicationIdSuffix ".d"
buildConfigField "String", "SERVER_URL", '"http://test.this-is-so-fake.com"'
}
release {
buildConfigField "String", "SERVER_URL", '"http://prod.this-is-so-fake.com"'
}
staging.initWith(buildTypes.release)
staging {
applicationIdSuffix ".stage"
debuggable true
buildConfigField "String", "SERVER_URL", '"http://stage.this-is-so-fake.com"'
}
}
這定義了一個新的構建類型( staging
)並創建了一個BuildConfig.SERVER_URL
字段,您可以將其用作在運行時構建完整URL的基礎。
您可以通過Android Studio中的“構建變體”視圖(默認情況下為左下角)來選擇實際使用的“運行”和“調試”工具欄按鈕的構建類型。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.