Changes between Version 2 and Version 3 of mcp_pconline
- Timestamp:
- 12/22/2016 02:11:45 PM (9 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
mcp_pconline
v2 v3 1 1 '''现在统一使用新的多渠道打包方式,主要为了提高打包效率和方便打多渠道加固包。''' 2 2 3 '''旧多渠道打包方式:''' [[BR]]3 '''旧多渠道打包方式:''' 4 4 5 5 使用gradle 脚本重复编译,并在编译前替换项目配置文件中的魔方渠道字段: … … 16 16 此方法重复编译导致打100个渠道需要几小时,并且对于不支持多渠道打包的加固平台(腾讯御安全)耗时更高。 17 17 18 '''新多渠道打包方式:''' [[BR]]18 '''新多渠道打包方式:''' 19 19 20 20 利用的是Zip文件“可以添加comment(摘要)”的数据结构特点,在文件的末尾写入任意数据,而不用重新解压zip文件(apk文件就是zip文件格式); 21 21 22 所以该工具不需要对apk文件解压缩和重新签名即可完成多渠道自动打包,高效速度快,无兼容性问题; 23 22 24 5M的apk,1秒种能打300个 23 25 24 '''具体原理:''' [[BR]]26 '''具体原理:''' 25 27 26 28 1. 生成签名apk 27 2. 把渠道号、版本号、唯一码(验证)、渠道号长度、版本号长度逐一转为小端序byte编码。 29 2. 遍历所有渠道,并拷贝出一样的apk 30 3. 把渠道号、版本号、唯一码(验证)、渠道号长度、版本号长度逐一转为小端序byte编码。 31 4. 将编码加密并添加到apk末端一字节中(comment) 32 5. app启动时候通过反射getPackageCodePath方法获取安装包路径 33 6. 获取apk末端comment内容 34 7. 解码得出渠道号
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)