Android多渠道打包技术
2010 年 12 月 13 日
背景
我们都会有这样的一个场景构建好的APP最终会上传到应用市场,我们如何统计每一个应用市场的投放效果呢,我们需要在每个APK中添加标记即渠道号,APP打开的某个时机将渠道信息,我们下面我们来分析一下如何实现。
方案
首先我们的方案要尽可能的减少构建时间,不需要重新对源码进行编译。因为构建一个包对于一个大型APP都需要20分钟,如果构建100多个渠道,要等待好几天了。。,所以我们需要从产出的APK入手,对APK文件做处理,从而大大减少构建时间。
我们需要提前构建一个没有渠道的APK,输入原始APK文件和渠道号,产出包含渠道号标记的APK.
1.使用AAPT添加渠道文件:
aapt add base.apk asserts/channel.txt
2.使用zipalign工具将APK进行字节对齐
zipalign -f 4 base.apk app_zipalign.apk}
3.使用apksigner对apk重新签名
java -jar apksigner sign --v1-signer-name CERT -ks ${mStore} --ks-key-alias ${mAlias} --ks-pass pass:${mStorePassword} --key-pass pass:${mAliasPassword} --out ${outFile.absolutePath} ${zipFile.absolutePath}"