Android開發Gradle之打多渠道包

打包配置:https://www.jianshu.com/p/afdaba526d33
AndroidManifest.xml 裏設置動態渠道變量

<meta-data
    android:name="UMENG_CHANNEL"
    android:value="${UMENG_CHANNEL_VALUE}" />

在 build.gradle 設置 productFlavors , 這裏假定我們需要打包的渠道爲360、百度。

android {  
    ...
    productFlavors {
        qh360 {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"]
        }
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
        }
       
    } 
  ...
}

或者批量修改

android {  

    productFlavors {
        qh360 {}
        baidu {}
    }  

    productFlavors.all { 
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] 
    }
}

android stuido 3.0新增:在app/gradle文件中加上 flavorDimensions 'versionCode' 否則會報錯All flavors must now belong to a named flavor dimension。

android {
  ...
  flavorDimensions 'versionCode'
  ...
}
    productFlavors {

        qh360 {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
            dimension "channel"
        }
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
            dimension "channel"
        }

    }
7567917-23cd3119278d7134.png
打包APK
7567917-f216eef3ca6b3e17.png
生成的APK
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章