1、为什么要进行多渠道打包?
安卓应用商店(一个商店也叫做一个渠道,如360,baidu,xiaomi)众多,大大小小几百个,我们发布应用之后需要统计各个渠道的用户下载量,所以才有了多渠道打包。

2、怎么样统计各个渠道的下载量呢?
现在有比较成熟的第三方应用帮我们实现统计功能(比如友盟),统计的本质就是收集用户信息传输到后台,后台生成报表,帮助我们跟踪分析并完善app。通过系统的方法已经可以获取到,版本号,版本名称,系统版本,机型,地区等各种信息,唯独应用商店(渠道)的信息我们是没有办法从系统获取到的,所以我们就人为的在apk里面添加渠道信息(其实就用一个字段进行标识,如360,baidu),我们只要把这些信息打包到apk文件并将信息传输到后台,后台根据这个标识,可以统计各个渠道的下载量了,并没有多么的高大上。

说了那么多,其实多渠道打包只需要关注两件事情:
①、将渠道信息写入apk文件
②、将apk中的渠道信息传输到统计后台

3、利用android studio多渠道打包
友盟统计是大家日常开发中常用的渠道统计工具,而我们的打包方法就是基于友盟统计实施的。

(一)在AndroidManifest.xml里设置动态渠道变量

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

(二)在build.gradle设置productFlavors

android {  
    productFlavors {
        kuan {}
        xiaomi {}
        qh360 {}
        baidu {}
        wandoujia {}
    }  
    productFlavors.all { 
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] 
    }
}

(三)执行打包操作
在AndroidStudio菜单栏点击Build菜单–>Generate signed APK–>选择key,并输入密码
图片描述

然后下一步,选择打包渠道
图片描述

最后点击完成按钮
图片描述

注:当然也可用Terminal命令打包,详见文章参考2。

参考
1、美团多渠道打包方案初体验(http://www.jianshu.com/p/76ab...
2、手把手教你AndroidStudio多渠道打包(http://blog.csdn.net/mynameis...


lk20150415
76 声望0 粉丝

希望多学习点