微信号:jszj2014215

介绍:主要分享移动互联网的相关产品和资讯,关注你将学习到更多,在互联网的当下你会赚更多的钱...

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

2016-12-10 09:58 点这里

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

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 = falseignoreWarning = 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  按照此文档接入就行,我在这里对参数进行一下说明

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









 
Android技术之家 更多文章 2016移动新技术预览,Retrofit为何这么久才火 Android分包的最简单方式 Android6.0M权限管理实战,完美轻量级封装 Android工程师谈Android性能优化案例研究 配置Freeline,一秒编译android程序
猜您喜欢 这里有你的100元红包! UFX全流程自动化测试的设计与实现 国内外顶尖刊物本周荐书 | 智谷趋势 支付宝分层与端到端回归平台建设实践 mnv*框架时代