首页 > 代码库 > Android多渠道打包
Android多渠道打包
产品每次发布,都需要打很多渠道的包。之前用per脚本打包,后来添加了自定义空间属性后,就不能打了。Ant脚本打包又嫌麻烦,引用的工程太多。最后想到一个办法就是反编译。
原理:每个渠道的包只有AndroidManifest.xml文件中渠道的ID不一样。所以反编译APK后,修改AndroidManifest.xml的渠道ID。最后重新打包。
步骤:
1.反编译已经打好包的APK(这里只用了-s,尝试过加上-r,但是AndroidManifest.xml文件没有被反编译,就删掉了)
1 java -jar apktool.jar d -s APK_NAME
2.修改AndroidManifest.xml文件中渠道ID
3.生成未签名的APK
1 java -jar apktool.jar b FILE_DIR UNSIGN_APK_NAME
4.将未签名的APK进行签名
1 jarsigner -verbose -keystore KEY_FILE_NAME -storepass PASSWORD -sigalg SHA1withRSA -digestalg SHA1 -signedjar SIGN_APK UNSIGN_APK ALIAS_NAME
5.将签名的APK进行优化
1 zipalign -v 4 SIGN_APK ZIPALIGN_APK
新的APK就生成了。以上步骤需要配置好JDK和SDK环境变量。
可以自己写一个java代码,循环替换渠道ID,就可以自动生成对应渠道包了
简略的写了个多渠道打包工具。可以猛戳这里进行下载。使用方法参见下载包里面的README.txt文件
Android多渠道打包
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。