试用Tinker小结

网上已有各种集成使用指南,这里只记录一下自己的集成过程:

如下,

1. 使用git clone https://github.com/Tencent/tinker.git 获取tinker源码

2. 在AS中导入tinker,修改相关的gradle,android-maven-gradle-plugin版本以及distributionUrl所指向的版本(符合本地版本,无须再更新)
应用的build.gradle中gitSha方法,gitRev可以指定固定值,也可以通过git rev-parse --short HEAD 获取一个6位值
3. 修改相关的minSdkVersion,compileSdkVersion,buildToolsVersion值,使其与本地版本对应
4. 如果Tinker项目中不能直接运行demo,则可以将demo单独另行导入,
5. 运行demo,生成基准apk
6. 修正demo,生成新的apk
7. 修改应用的build.gradle,找到ext并配置tinkerOldApkPath为基准apk,tinkerApplyResourcePath为新的apk的R.txt文件。其他配置可暂时忽略
8. 在AS右侧打开Gradle,选择tinker->smaple->android->Tasks->tinker->tinkerPatchDebug 因为一直用的是debug签名
或是在Terminal命令行下输入gradlew tinkerPatchDebug 执行
9. 根据TinkerInstaller.onReceiveUpgradePatch方法中指定的补丁存储路径及文件名,将app\build\outputs\tinkerPatch\debug下相应的文件储存到到指定路径下
10. 基准apk,执行TinkerInstaller.onReceiveUpgradePatch方法,加载指定patch,完成后需要重新启动apk
11. 重启apk,问题被修复。

猜你喜欢

转载自blog.csdn.net/zjclugger/article/details/72844726