簡體   English   中英

使用Gradle在開發和生產環境中使用不同的參數

[英]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為三種構建類型( debugrelease和一種自定義mezzanine )定義SERVER_URL String字段。 您可以對boolean USE_LOCAL_BACKEND做同樣的事情。 然后,您將在Java代碼中將其稱為BuildConfig.USE_LOCAL_BACKEND

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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