场景描述:
公司要求Android的apk包要区分渠道,每个渠道要单独打包,关键是一共有20多个渠道,如果手动一个个打包,一次打包的时间就要浪费一个多小时,而且每个包要手动配置,有多累不说,还很容易出错,所以决定研究一下自动分渠道打包技术。(说明: 使用工具为Android Studio,以友盟统计为例。)
配置:
第一步: 配置AndroidManifest.xml
(文件路径:android/app/src/main/AndroidManifest.xml
),在application
中添加代码
<application
...
>
...
<meta-data android:value="替换你的APPKEY" android:name="UMENG_APPKEY"/>
<meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
</application>
第二步: 配置build.gradle
(文件路径:android/app/build.gradle
)
1、在defaultConfig
中添加flavorDimensions "versionCode"
defaultConfig {
...
flavorDimensions "versionCode"
}
2、在defaultConfig
后面添加productFlavors
defaultConfig {
...
flavorDimensions "versionCode"
}
productFlavors {
channel01 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "渠道1"]
}
channel02 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "渠道2"]
}
...
channel20 {
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "渠道20"]
}
...
}
其中,渠道1、渠道2、...、渠道20、...即为想要配置的渠道名称。
第三步:使用Android Studio打包apk
选择菜单中的Build -> Generate Signed Bundle/APK... -> 选择APK -> Next -> 填写Key store信息 -> Next -> 选择要打包的渠道(如下图)-> Finish
说明:第二步配置好后需要执行菜单中的Build -> Rebuild Project
,否则上图中可能找不到你已经配置好的渠道。
参考地址:
https://www.cnblogs.com/ldq2016/p/7568906.html
https://blog.csdn.net/syif88/article/details/75009663/
网友评论