Android第三方---Tinker热修复

Android中的热修复我目前只接触过Tinker,下面就是我在集成tinker中的过程以及遇到的问题

首先是添加依赖:在project的build.gradle里面

project的build.gradle

 在app的build.gradle里面


app的build.gradle

然后先不要着急sync now因为会报错:Error:Execution failed for task ':tinkerdemo:tinkerProcessDebugManifest'.

> tinkerId is not set!!!

接下来就需要在app的build.gradle里面配置tinker了 具体看这里 Tinker配置


除了图上三个箭头所示的地方需要更改还要在project的gradle.properties里面加上

TINKER_VERSION=1.0

TINKER_ID=1.0

TINKER_ENABLE=true

然后就可以sync now了,接下来就要继承tinker的DefaultApplicationLike实现自己的Application了

继承application

接下来就可以测试了首先写一个简单的布局和MainActivity


布局文件


activity

写完之后点击运行

运行

然后打开app目录下的build里面会有一个bakApk文件夹

bakApk

然后复制app-debug-0228-18-53-39.apk(这个apk名字是随机生成的)到app的bulid.gradle的

复制名字

然后再sync now一下,接下来就是最后一步了把原先的main.xml布局文件改动一下删掉最后一个button

删除button

接下来双击运行

双击运行

运行完成后你会在app目录下的build目录下的outputs目录下发现生成了一个tinkerPatch文件夹,里面会有三个apk文件

复制

复制后重命名为你在MainActivity中的名字就是xxx.patch,然后放在你手机的根目录下

以上步骤完成后你就可以点击修复一下,你会发现项目会闪退一下 然后你再打开最后一个button已经消失了,说明简单的热修复已经成功了

最后不要忘了高版本手机上加动态读写权限

想看demo的可以去我的GitHub

你可能感兴趣的:(Android第三方---Tinker热修复)