美文网首页
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