1. 程式人生 > >Android Studio靈活配置debug和release模式下的APPKEY

Android Studio靈活配置debug和release模式下的APPKEY

我們一般要在AndroidManifest.xml檔案中定義三方平臺的appkey,appid等屬性值,類似下面的程式碼

<meta-data
            android:name="UMENG_APPKEY"
            android:value="59dee5af82b6355b3d00000c" />

如果屬性值是固定死的還好,如果屬性值要根據debug和release模式區分,那麼你就得打debug包的時候改成debug的appkey,打release包的時候改成release包的appkey,這樣做是非常麻煩的。

解決辦法分為三步

1 AndroidManifest.xml中寫死屬性值的地方可以使用“${*}”代替

<meta-data
            android:name="PUSH_APPKEY"
            android:value="${GETUI_APP_KEY}" />

2 app的build.gradle檔案定義一下引數

android {
     ......................

    defaultConfig {
             ......................
        manifestPlaceholders = [
                GETUI_APP_ID    : "",
                GETUI_APP_KEY   : "",
                GETUI_APP_SECRET: ""
        ]
    }

如上圖所示,你需要幾個引數就要定義幾個

2 app的build.gradle的buildTypes 中定義各種屬性的值

 buildTypes {
        release {
            manifestPlaceholders = [GETUI_APP_ID : "正式appid", GETUI_APP_KEY: "正式key", GETUI_APP_SECRET: "正式srcrest",
         .............................
        }
        debug {
            manifestPlaceholders = [GETUI_APP_ID : "測試appid", GETUI_APP_KEY: "測試key", GETUI_APP_SECRET: "測試secret"
                .............................
        }
    }

經過這幾步,你打包的時候就不用修改這些渠道的引數了,debug包就會自動去使用debug引數,release包就會自動使用release包