Android-2热更新

腾讯bugly热更新打基准包步骤以及发布

2018-03-09  本文已影响87人  coexist
1.配置基准包的tinkerId (注意这里的base版本必须联网上报 才可以上传补丁包)

设置你的基准版本号 最好是和app version对应

Bugly基线版本
2.执行assembleRelease编译生成基准包

android studio的右边选择gradle找到我们接入热更新的model进入build中选择生成的基准包类型:这里可以是ReleaseDebug版本

生成基准包
3.这个会在build/outputs/bakApk路径下生成每次编译的基准包、混淆配置文件、资源Id文件,如下图所示
生成的基准Apk目录

这里面有的app-release.apk就是我们需要上线的基线版本,请注意保存线上发布版本的基准apk包、mapping文件、R.txt文件,如果线上版本有bug,就可以借助我们tinker-support插件进行补丁包的生成。

3.如果你没有开启混淆是不会有mapping.txt文件的,需要在Moudlebuild.gradle文件中开启混淆
开启基线混淆

怎样生成签名文件这里就不介绍了。

4.对基线版本的bug修复

上面生成了base包了,那就需要去生成patch包了。
基准包的代码:

base包的代码

补丁包(patch)的代码:

pacth代码
5.根据基线版本生成补丁包

这里需要注意的:基准包目录必须是你上次生成的base包,注意这里是按照时间命名的,检查能否正确,tinkerId 需要生成patch包必须使用 tinkerId="patch-base"版本号对应"

patch补丁生成配置
6.执行构建补丁包的task
patch补丁包的task
如果你要生成不同编译环境的补丁包,只需要执行TinkerSupport插件生成的task,比如buildTinkerPatchRelease就能生成release编译环境的补丁包。
6.生成的补丁包在build/outputs/patch目录下,其中7zip.apk就是我们需要使用的补丁包:
补丁包目录

打开补丁包可以看到里面会有一个YAPATCH.MF,这里面包含了我们是从base版本到patch版本:以及appversion信息

补丁包
7.上传补丁包到平台

进入到对应appidapp中,选择应用升级,热更新,发布新补丁。

发布patch版本,选择补丁文件之后会自动从补丁包的YAPATCH.MF去寻找base版本以及app版本,注意这里的base版本必须联网上报(必须在联网的情况下启动app),才可以上传补丁成功。如果没有

上传补丁包

上传了补丁包可以选择下发的范围:

下发补丁之后:
下发补丁的撤回
里面包括了激活的用户数量以及下发的数量,在操作过程中我们可能对于上个补丁不太满意,我们需要发布一个新的补丁,bugly提供了2中操作。

停止下发:点击之后将不会在下发bugly补丁,但是之前已经下载并且激活的不会删除掉补丁。

撤回:点击之后将停止下发补丁,并且之前已经下载并且激活的用户将会删除掉补丁包,并且恢复到基准包的版本。

8.检查patch包能否生效

基准包执行效果图:

基准包效果图

修复之后的效果图:


补丁合成效果图

如果不能立即生效,需要吧app至于后台一段时间才能生效


其他相关文章
http://yiweifen.com/html/news/WaiYu/74967.html
https://buglydevteam.github.io/2017/05/15/solution-of-multiple-channel-hotpatch/
https://bugly.qq.com/docs/user-guide/instruction-manual-android-hotfix-demo/

上一篇 下一篇

猜你喜欢

热点阅读