初识 tinker
原文链接 http://www.rogerblog.cn/2016/09/25/tinker/
注:以下为加速网络访问所做的原文缓存,经过重新格式化,可能存在格式方面的问题,或偶有遗漏信息,请以原文为准。
初识 Tinker
昨天中午微信开源了动态修复解决方案 tinker :https://github.com/Tencent/tinker
是不是激动人心的想要试一下呢?下面记录一下如何运行 tinker 的 Demo 工程。
首先下载 tinker 的工程,打开 tinker-sample-android 工程,打开后如下图:
阅读 WIKI ,里面有各种参数的说明和 Demo 的运行方法 Wiki
看到 Demo 使用方法 LINK
运行 1、2 步,应该都不会有大问题,but 第三步需要一点提示,在修改 gradle 文件后,如何调用 tinkerPatchDebug 呢? 方法是使用在 Terminal 中运行 ./gradlew tinkerPatchDebug ,如图所示:
在运行时你应该会碰到一个错误:
[ignoreWarning is false, but resources.arsc is changed, you should use applyResourceMapping mode to build the new apk, otherwise, it may be crash at some times]
这个错误的原因是你没有指定 applyResourceMapping 的 R.txt 的文件,所以需要将之前生成的 R.txt 赋值到 ext 中的 applyResourceMapping 中,如下图所示:
解决这个问题后就能按照 WIKI 的提示完成挣个热修复的工作,but 注意在 push apk 的时候有的手机 sd 卡的位置是不同的,避免推送失败。
以上就是运行 tinker Demo 所有需要注意的点,牛刀小试后,接下来就好好解析和拆解其中的原理了~! Frighting !