工具
打包工具下載地址鏈接:http://pan.baidu.com/s/1slVPSTZ 密碼:5d91
解壓壓縮包沪袭,復制apk文件到根目贯卦,在chanel.txt定義渠道,運行bat文件則可以快速生成渠道包舟茶。
代碼寫入
暫時以友盟統(tǒng)計為事例:
友盟統(tǒng)計多渠道打包有多種方式馁蒂,常見的有g(shù)radle配置渠道,在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文件中寫入渠道信息,之后再去程序啟動時動態(tài)讀取结胀。
實現(xiàn)方法一:
相關鏈接:java版本實現(xiàn)多渠道打包
使用上述版本打包多渠道在友盟統(tǒng)計中親測有效(集成測試)赞咙,在非集成測試中默認初始安裝渠道為當前渠道。