美文网首页
2018-04-01

2018-04-01

作者: 梦飞成2012 | 来源:发表于2018-04-01 17:11 被阅读4次

热修复接入文档:

一、APP工程的改动:

1、从https://g.hz.netease.com/WM-Android/HotFix/commits/master 工程下下载aar文件
2、在项目的build.gradle 中添加compile(name: 'WMPatch-1.0.0', ext: 'aar’)
3、替换项目自定义的Application类,步骤如下:

  • (I).新建ApplicationLike继承自DefaultApplicationLike类
  • (II)将旧的Application的逻辑,复制到ApplicationLike中,并对该类做一些设置,如在oncreate加上Tinker初始化的逻辑,参考demo(该类的回调接口和Application一样,所以不必担心逻辑问题,基本照着复制过去就可以)
  • (III)删除旧的Application,所有使用Application的地方,改为ApplicationLike替代,原来App.getContext的代码,改为ApplicationLike.getApplication即可。
  • (IV) 在manifest文件的application上加上这句话,android:name="com.example.fanguangcheng.hotfixdemo.SampleApplication"
    至此,APP端的修改完毕。

二、生成补丁包:

生成补丁包比较简单,需要以下文件:
旧的apk包,旧的R文件、旧的mapping文件
使用如下指令,命令行重新打包:
./gradlew tinkerPatchDebug -P OLD_APK=/old.apk -P APPLY_RESOURCE=/old-R.txt -P APPLY_MAPPING=/old-mapping.txt
将会在/app/build/outputs/apk/tinkerPatch 生成多个文件,使用patch_signed_7zip.apk 这个文件作为补丁即可。

三、上传补丁包

如下截图,上传补丁包到后台,设置渠道、版本号等信息


补丁包上传.png

四、验证补丁

打开旧版APP,APP启动时会请求补丁包信息,可以通过抓包查看的更清晰。
补丁包下载完成后会启动后台进程合并,合并成功,在debug版本会toast提示“patch success, please restart process”
此时杀死APP,重新打开,即可验证结果。

相关文章

网友评论

      本文标题:2018-04-01

      本文链接:https://www.haomeiwen.com/subject/wxhacftx.html