android加固多渠道,Android多渠道打包(Gradle和360加固宝)

一.场景

应用需要接入统计服务,了解应用在不同应用市场的表现时,分发到不同应用市场的apk需要一个渠道名区分不同应用市场。这时就需要打多个不同的包,每个包对应一个渠道名, 即对应一个应用市场。

二.多渠道打包实践(以友盟统计为例)

1.Gradle方式

(1)在AndroidManifest.xml清单文件中设置友盟统计的APPKEY和应用推广的渠道名称。

(2)在项目Module的build.gradle文件的android标签下添加代码,配置多个渠道。

//多渠道配

productFlavors {

//设置百度应用市场渠道名为baidu

baidu {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu "]

}

//设置360应用市场渠道名为360

360 {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "360"]

}

//设置wandoujia 应用市场渠道名为wandoujia

wandoujia {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia "]

}

}

(3)签名打包,这时就会生成对应(2)中配置的三个渠道的三个apk文件。

(4)特殊需求:每个渠道包的图标和应用名都不一样。

a.在AndroidManifest.xml清单文件中设置包名和图标时如下

android:icon="${app_icon}"

android:label="${app_name}">

b.步骤(2)中修改以下

productFlavors {

baidu {

//设置百度应用市场渠道下渠道名为baidu

//应用名@string/app_name_baidu

//应用名@string/app_name_baidu

manifestPlaceholders = [app_name: "@string/app_name_baidu",

app_icon: "@string/app_name_baidu",

UMENG_CHANNEL_VALUE: "baidu"]

}

360{

manifestPlaceholders = [app_name: "@string/app_name_360",

app_icon: "@mipmap/no2",

UMENG_CHANNEL_VALUE: "360"]

}

wandoujia{

manifestPlaceholders = [app_name: "@string/app_name_wandoujia",

app_icon: "@mipmap/no3",

UMENG_CHANNEL_VALUE: "wandoujia"]

}

}

2.使用360加固宝

(1)在AndroidManifest.xml清单文件中设置友盟统计的APPKEY和应用推广的渠道名称。

(2)360加固宝的配置信息中进行多渠道配置

8baf9f0b0cb5

如上图添加了三个渠道

选择友盟统计平台对应步骤(1)中设置渠道名中的name:UMENG_CHANNEL

填写渠道编号对应步骤(1)中设置渠道名中的value:wandoujia

(3)使用AndroidStudio打包一个apk,再用360加固宝对apk加固,这时就会产生3个加固后的apk。(都这里别和我说加固宝不会用)

三.获取渠道信息

想要验证渠道包的渠道名是不是相对应,这就需要获取渠道信息进行验证,代码如下。

//key为渠道名的key,对应友盟的 UMENG_CHANNEL

private String getChannel(Context context,String key) {

try {

PackageManager pm = context.getPackageManager();

ApplicationInfo appInfo = pm.getApplicationInfo(context.getPackageName(), PackageManager.GET_META_DATA);

return appInfo.metaData.getString(key);

} catch (PackageManager.NameNotFoundException ignored) {

}

return "";

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值