纠结于渠道投放不知道如何统计?那就好好看看这篇文章。
本文仅提供Java版分包代码。
1、准备分包的标记文件,假设为:channel_list.text 文件
内容随机写了几个数字:
1041020010
1041020011
1041020012
1041020013
1041020014
1041020015
1041020016
将打出7个新的分包apk。
2、准备Java脚本多渠道分包代码
public class Tool {
private static final String CHANNEL_PREFIX = "/META-INF/";
private static final String CHANNEL_PATH_MATCHER = "regex:/META-INF/mtchannel_[0-9a-zA-Z]{1,5}";
private static String source_path;
private static final String channel_file_name = "channel_list.txt";
private static final String channel_flag = "channel_";
public static void main(String[] args) throws Exception {
if (args.length <= 0) {
System.out.println("请输入文件路径作为参数");
return;
}
final String source_apk_path = args[0];//main方法传入的源apk的路径,是执行jar时命令行传入的,不懂的往下看。
int last_index = source_apk_path.lastIndexOf("/") + 1;
source_path = source_apk_path.substring(0, last_index);
final String source_apk_name = source_apk_path.substring(last_index, source_apk_path.length());
System.out.println("包路径:" + source_path);
System.out.println("文件名:" + source_apk_name);
ArrayList<String> channel_list = getChannelList(source_path + channel_file_name);
final String last_name = ".apk";
for (int i = 0; i < channel_list.size(); i++) {
final String new_apk_path = source_path + source_apk_name.substring(0, source_apk_name.length() - last_name.length()) //