一.场景
应用需要接入统计服务,了解应用在不同应用市场的表现时,分发到不同应用市场的apk需要一个渠道名区分不同应用市场。这时就需要打多个不同的包,每个包对应一个渠道名, 即对应一个应用市场。
二.多渠道打包实践(以友盟统计为例)
1.Gradle方式
(1)在AndroidManifest.xml清单文件中设置友盟统计的APPKEY和应用推广的渠道名称。
<!--value的值填写你在友盟后台申请的应用Appkey-->
<meta-data android:value="5b9a2d49f29d9833fa0000e" android:name="UMENG_APPKEY"/>
<!--value的值填写渠道名称,例如yingyongbao。这里设置动态渠道名称变量-->
<meta-data android:value="${UMENG_CHANNEL_VALUE}" android:name="UMENG_CHANNEL"/>
(2)在项目Module的build.gradle文件的android标签下添加代码,配置多个渠道。
flavorDimensions "a"
/*配置渠道*/
productFlavors {
yingyongbao {
dimension "a"
//设置yingyongbao 应用市场渠道名为yingyongbao
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "yingyongbao"]
}
wandoujia {
dimension "a"
//设置wandoujia 应用市场渠道名为wandoujia
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"]
}
xiaomi {
dimension "a"
//设置xiaomi 应用市场渠道名为xiaomi
manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]
}
}
(3)签名打包,这时就会生成对应(2)中配置的三个渠道的三个apk文件。
(4)特殊需求:每个渠道包的图标和应用名都不一样。
a.在AndroidManifest.xml清单文件中设置包名和图标时如下
<application
android:icon="${app_icon}"
android:label="${app_name}">
b.步骤(2)中修改以下
flavorDimensions "a"
/*配置渠道*/
productFlavors {
yingyongbao {
dimension "a"
//设置yingyongbao 应用市场渠道名为yingyongbao
manifestPlaceholders = [app_name: "@string/app_name_baidu",
app_icon: "@string/app_name_baidu",
UMENG_CHANNEL_VALUE: "yingyongbao"]
}
wandoujia {
dimension "a"
//设置wandoujia 应用市场渠道名为wandoujia
manifestPlaceholders = [app_name: "@string/app_name_baidu",
app_icon: "@string/app_name_baidu",
UMENG_CHANNEL_VALUE: "wandoujia"]
}
xiaomi {
dimension "a"
//设置xiaomi 应用市场渠道名为xiaomi
manifestPlaceholders = [app_name: "@string/app_name_baidu",
app_icon: "@string/app_name_baidu",
UMENG_CHANNEL_VALUE: "xiaomi"]
}
}
2.使用360加固保加固apk并自动签名
(1)下载360加固助手
(2)签名配置
点击“配置信息”,选择“签名配置” ,勾选“启用自动签名”,点击“浏览” 按钮,选择需要使用的签名 Keystore 文件,并输入 Keystore 密码。密码正确时 会显示别名,然后输入正确的别名密码,点击“添加”,完成签名配置操作。
(3)多渠道配置
在 “配置信息”菜单中,选择“多渠道配置”,勾选“启用多渠道打包”可 以在加固应用的同时自动打出对应的渠道加固包,根据需要的渠道包,填写相关的配置信息,单击“添加”按钮。
如上图添加了三个渠道
选择友盟统计平台对应步骤(1)中设置渠道名中的name:UMENG_CHANNEL
填写渠道编号对应步骤(1)中设置渠道名中的value:wandoujia
(4)使用AndroidStudio打包一个apk,如下图所示:
(5)再用360加固宝对apk加固,如下图所示:
(6)加固完成后,鼠标右键——>“打开输出路径”,如下图所示:
(7)这时就会产生3个渠道的加固后的apk。如下图所示:
至此多渠道加固介绍完毕,有问题的地方请留言!