工具
打包工具下载地址链接:http://pan.baidu.com/s/1slVPSTZ 密码:5d91
解压压缩包,复制apk文件到根目,在chanel.txt定义渠道,运行bat文件则可以快速生成渠道包。
代码写入
暂时以友盟统计为事例:
友盟统计多渠道打包有多种方式,常见的有gradle配置渠道,在mainfest写入meta配置appkey和渠道或在java代码设置appkey和渠道。
在java代码中设置渠道通常在Application中进行如下设置
MobclickAgent. startWithConfigure(UMAnalyticsConfig config)
如:
MobclickAgent.startWithConfigure(new MobclickAgent.UMAnalyticsConfig(context, "you-appkey", channel));
//从meta中获取渠道的方法
public static String getChannelFromMeta(Context context) {
ApplicationInfo appinfo = context.getApplicationInfo();
String sourceDir = appinfo.sourceDir;
String ret = "";
ZipFile zipfile = null;
try {
zipfile = new ZipFile(sourceDir);
Enumeration<?> entries = zipfile.entries();
while (entries.hasMoreElements()) {
ZipEntry entry = ((ZipEntry) entries.nextElement());
String entryName = entry.getName();
if (entryName.startsWith("META-INF/channel_")) {
ret = entryName;
break;
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (zipfile != null) {
try {
zipfile.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
String[] split = ret.split("_");
if (split != null && split.length >= 2) {
return ret.substring(split[0].length() + 1);
} else {
return "default";
}
}
在进行不签名的多渠道打包是在apk的META-INF文件中写入渠道信息,之后再去程序启动时动态读取。
实现方法一:
相关链接:java版本实现多渠道打包
使用上述版本打包多渠道在友盟统计中亲测有效(集成测试),在非集成测试中默认初始安装渠道为当前渠道。