热修复tinker手机端及tinker-manage接入的总结

最近研究了一下腾讯的热更新框架,以及一位大神开源的热更新后台服务框架,下边总结一下,希望对想了解的人有所帮助

tinker链接:https://github.com/Tencent/tinker/wiki

开源的热更新后台服务框架:https://github.com/baidao/tinker-manager

一、Tinker使用介绍:

官方文档好久没更新了,看起来费事,这里简单总结下怎么使用。

1、导入Sample工程

将官方给出的Sample工程在AndroidStudio中打开.首先一点,在app的build.gradle文件中找到tinkerId = getTinkerIdValue()并将其替换成tinkerId = "tinkerId",其中后面的值可以随意设置.再替换ignoreWarning = false为ignoreWarning = true.

2、编译运行原版apk

按照往常操作一样,编译打包debug apk并安装.此时Tinker会在工程的app/build/bakApk/目录下保存打包好的apk文件,找到刚才生成的apk文件,复制其完整文件名,在app的build.gradle文件找到tinkerOldApkPath这一项设置,并将其设置为tinkerOldApkPath = "${bakPath}/<刚才生成的apk文件名>"

3、修改源码 生成新版apk 补丁

在项目里随便改点内容,然后生成debug版的patch(补丁)apk文件。如图:

4、生成补丁包的位置如图:

只需将此补丁包放在MainActivity里边指定的加载补丁包的路径即可。

点击LOAD_PACH 加载执行修复,点击shouInfo 会显示PATCH is loaded,说明成功,然后点击KILL SELF 再次进入 就修复了。

到此为止tinker修复就成功了。然后说说怎么接入tinker-manager手机端的,以便跟热更新后台的修复做对接。

步骤参考文档链接:https://github.com/baidao/tinker-manager/tree/master/patchsdk  按照此文档接入就行,我在这里对参数进行一下说明

下边两参数做测试的话为空即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容