美文网首页程序员Android面试Android
Android框架---Tinker热修复

Android框架---Tinker热修复

作者: 简书不简单iiii | 来源:发表于2019-02-28 19:50 被阅读2次

    Android中的热修复我目前只接触过Tinker,其实以后可能用不到热更新了,因为Android9.0以后就用不了了,hook底层代码禁了。不过还是需要知道的,下面就是我在集成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热修复

        本文链接:https://www.haomeiwen.com/subject/aeikuqtx.html