美文网首页
热修复系列文章4 —— 热修复--Tinker 进行热修复(re

热修复系列文章4 —— 热修复--Tinker 进行热修复(re

作者: Amy_LuLu__ | 来源:发表于2018-09-20 16:58 被阅读0次

参考文档:
一次集成使用Tinker热更新的体验
微信Android热补丁方案Tinker初步使用
Tinker 接入指南

Release的使用方法总结:
① 每次编译或发包将安装包与mapping文件备份;
② 若有补丁包的需要,按自身需要修改你的代码、库文件等;
③ 将备份的基准安装包与mapping文件输入到tinkerPatch的配置中;
④ 运行tinkerPatchRelease,即可自动编译最新的安装包,并与输入基准包作差异,得到最终的补丁包。

Demo请参考tinker-sample-android,

目录

2.release打包
-- 2.1 将下载下来的demo编译打包release版本 安装在手机上
-- 2.2 修改bug
-- 2.3 修改build.gradle
-- 2.4 打包差异包,并推送到手机的SD卡中
-- 2.5 完成

2.release打包

2.1 将下载下来的demo编译打包release版本 安装在手机上

首先直接运行task assembleRelease

编译过的包保存在build/bakApk中。
并且我们可以看到在build/bakApk文件夹内已经生成了三个文件:
【记住你编译出来的包名,后面会用到!!!】
【执行assembleDebug 没有mapping文件。】

然后将它安装到手机,点击SHOW INFO按钮,可以看到补丁并没有加载.


2.2 修改bug

对demo工程进行修改
你可以多加个toast或者log,来区分跟之前版本的区别

2.3 修改build.gradle

具体操作:
① 打开app的build.gradle
② 配置三个文件路径

image.png

2.4 打包差异包,并推送到手机的SD卡中

调用gradle中的tinkerPatchRelease,

成功后,补丁包与相关日志会保存在/build/outputs/tinkerPatch/

然后我们将patch_signed_7zip.apk推送到手机的sdcard中

adb命令:
>adb push patch_signed_7zip.apk的绝对路径 /storage/emulated/0/patch_signed_7zip.apk

//关于patch_signed_7zip.apk的绝对路径 
直接把文件拖进来就好了

//关于/storage/emulated/0/patch_signed_7zip.apk
其中/storage/emulated/0/可通过Environment.getExternalStorageDirectory().getAbsolutePath();获取,
//是跟下面调用的方法的最后一个参数相对应
TinkerInstaller.onReceiveUpgradePatch(getApplicationContext(), Environment.getExternalStorageDirectory().getAbsolutePath() + "/patch_signed_7zip.apk");相对应的

2.5 完成

打开2.1步骤安装的apk
点击LOAD PATCH按钮, 如果看到patch success, please restart process的toast,即可锁屏或者点击KILL SELF按钮



重新打开apk 则可以看到我们改的代码,同时点击SHOW INFO按钮,显示补丁包的确已经加载成功了。


相关文章

网友评论

      本文标题:热修复系列文章4 —— 热修复--Tinker 进行热修复(re

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