簡體   English   中英

如何在Android Apps上設置環境屬性?

[英]How do I set environment properties on Android Apps?

我的Android應用程序調用了Rest Service,我想選擇我的應用程序連接到的環境(例如本地開發,暫存或生產)。 理想情況下,我想擁有一個屬性(例如SERVICE_HOST),並且每個環境具有不同的值。

在服務器端Java中,我可以傳入一個JVM變量(-DENVIRONEMNT = production),然后屬性加載器將根據該變量讀取正確的屬性文件。

Android中有任何等效的方法嗎? (或可以解決我的問題的替代方法)

我想選擇我的應用連接到的環境(例如本地開發,暫存或生產)

如果您使用的是Android Studio,則這些將映射為構建類型 預先建立了兩種構建類型: debugrelease 您可以在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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM