渠道分包技术

本文介绍了Android应用的Java脚本分包技术,详细阐述了如何通过channel_list.txt文件准备分包标记,导出可运行jar包,以及使用命令行进行分包操作。同时,文中还展示了读取渠道标识的代码,并探讨了该方法的原理和局限性,适用于V1签名包。
摘要由CSDN通过智能技术生成

纠结于渠道投放不知道如何统计?那就好好看看这篇文章。

本文仅提供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()) //
	
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值