1)概述
所谓多渠道打包是指按照多个Android应用市场的规则,打出符合各个应用市场要求的apk安装文件。比如,通过一次编译可以打出百度应用市场、豌豆荚应用市场、应用宝、华为应用市场和蒲公英等各大Android应用市场的安装包。目前,一般会采用友盟打包工具或者百度提供的打包工具进行应用的多渠道打包。下面将简要介绍下在Android Studio的平台上,利用友盟打包工具进行多个应用市场的安装文件打包。
2)具体的打包流程
第一步,注册友盟账号,获取AppKey.
可以访问友盟官方网址http://www.umeng.com/,注册一个友盟账号。注册结束后,可以找到“我的应用”,点击“添加新应用”,会弹出如下的界面。
填写上面个应用信息后,将会得到友盟下唯一的应用识别码AppKey.
第二步,添加对友盟的依赖。
添加依赖可以有两种方式进行实现:下载友盟SDK,并通过add lib的方式进行开发包的导入。另一种方式,也可以通过compile的方式进行导入,具体的导入指令为
dependencies{
compile 'com.umeng.analytics:analytics:latest.integration'
}
第三步,在Manifest.xml中生命AppKey.
<meta-data android:name="UMENG_APPKEY" android:value="5a619b0.....4f20000be" /> <meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
添加如上两个参数,APPKEY和CHANNEL。其中,第二个参数指的就是频道,即哪个市场上的应用。多渠道打包的时候,可以采用参数占位符的形式进行赋值。
第四步,在build.gradle中配置打包的参数。
productFlavors { wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"] } c360 { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "c360"] } uc { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "uc"] } } }
也可以批量修改
productFlavors { wandoujia {} baidu {} xiaomi {} c360 {} uc {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] }
productFlavors指的是产品的特性,利用productFlavors的编辑便可以动态地配置Manifest文件中的UMENG_CHANNEL_VALUE的值。
第五步,执行打包操作。
点击Androis Studio中Build菜单,并选中Generate signed APK。可以选中之前创建的.jks文件,也可创建新的.jks文件。
填写各项内容后,点击finish后。便可进行相关渠道上.apk文件的编译了。生成的安装文件如下