本文目标
项目包含bugly的热修复+360加固+VasDolly多渠道打包,打出来的包既加固了支持热修复还支持多渠道
核心思想
用tinker打基准包,然后360加固,然后基于这个加固包用VasDolly打包工具打渠道包
步骤
一.Clean project
二.Rebuild project
三.tinker打release基准包
指令在: app--->Tasks--->other--->assembleRelease
打包成功的apk路径
/Users/houyadong/iProject/ASProj/app/build/bakApk/app-0309-10-44-05/app-release.apk
/Users/houyadong/iProject/ASProj/app/build/outputs/apk/release/app-release.apk
上面两个路径的apk是一样的,只不过路径不同
四.使用360加固
360加固是基于tinker的release基准包进行的
可以在Terminal中输入
./gradlew protect360
也可以在app--->Tasks---> other--->protect360
加固成功后apk路径:
/Users/houyadong/iProject/ASProj/app/build/outputs/packers/app-release_10_jiagu_sign.apk
五.VasDolly打渠道包
基于加固包去打多渠道包
指令在: app---> Tasks---> channel---> reBuildChannel
多渠道包打包成功后apk路径:
/Users/houyadong/iProject/ASProj/app/build/outputs/rebuildChannel/release/huawei-app-release_10_jiagu_sign.apk
/Users/houyadong/iProject/ASProj/app/build/outputs/rebuildChannel/release/meizu-app-release_10_jiagu_sign.apk
/Users/houyadong/iProject/ASProj/app/build/outputs/rebuildChannel/release/oppo-app-release_10_jiagu_sign.apk
/Users/houyadong/iProject/ASProj/app/build/outputs/rebuildChannel/release/vivo-app-release_10_jiagu_sign.apk
六.重要
tinker打的基准包文件夹一定要保存好,直接存到项目中
建议存到项目根目录中,在项目根目录创建bakApk文件夹,把整个基准包文件夹放进去,
这样每次发新版本,打出来包以后就更新这个bakApk目录的所有文件,
然后修改tinker-support.gradle文件中的 baseApkDir的值和bakApk目录下的基准包文件夹名称保持一致,方便随时打补丁包
七.关于补丁
1. 创建补丁
首先,修改tinker-support.gradle文件中的 baseApkDir的名字为上面存好的基准包文件夹名称
然后如果/Users/houyadong/iProject/ASProj/app/build/bakApk/ 路径下没有基准包文件夹,则复制基准包文件夹放进去
执行app— Tasks —- tinnker-support — buildTinkerPatchRelease指令
补丁包路径:/Users/houyadong/iProject/ASProj/app/build/outputs/patch/release/patch_signed.apk
2.发布补丁(1个或者多个)
打开bugly的热更新页面
把补丁包放进去,开始下发就好了,如果在app的一个大版本中又出现了新的bug,
这时候继续修改bug,重复上面的步骤打出新补丁包,然后继续放在bugly中,然后下发,新的补丁是会覆盖掉老的补丁的
八.总结
发布新版本流程
改版本号-> Clean project -> Rebuild project -> assembleRelease() -> protect360()-> reBuildChannel()
-> 存储基准包文件夹,同时修改tinker-support.gradle文件中的 baseApkDir的值为基准包文件夹名称
-> 拿着渠道包去不同的应用商店上传
网友评论