0%

Android 在线热更新_TinkerPatch

说明:TinkerPatch和Tinker并不是一个东西。TinkerPatch支持在线更新
想看Tinker的点这个http://www.jianshu.com/p/ad7deea62a07

一 ,注册平台账号
官网:http://www.tinkerpatch.com/
新建app,名字与本地项目名字保持一致
image.png

二 :项目配置

  1. 项目build.gradle配置

    1
    2
    3
    4
    5
    dependencies {
    ...
    // TinkerPatch 插件
    classpath "com.tinkerpatch.sdk:tinkerpatch-gradle-plugin:1.2.2"
    }

    2 app build.gradle中

    1
    2
    3
    4
    5
    implementation "com.android.support:multidex:1.0.2"
    //若使用annotation需要单独引用,对于tinker的其他库都无需再引用
    annotationProcessor("com.tinkerpatch.tinker:tinker-android-anno:1.9.2") { changing = true }
    compileOnly("com.tinkerpatch.tinker:tinker-android-anno:1.9.2") { changing = true }
    implementation("com.tinkerpatch.sdk:tinkerpatch-android-sdk:1.2.2") { changing = true }
    1
    2
    3
    4
    defaultConfig {
    ...
    multiDexEnabled true
    }
  2. app目录新建下新建tinkerpatch.gradle
    https://github.com/TinkerPatch/tinkerpatch-sample/blob/master/app/tinkerpatch.gradle
    全部复制进去
    app build.gradle添加依赖

    1
    apply from: 'tinkerpatch.gradle'

    image.png

  3. 初始化Application
    新建SampleApplicationLike全部复制
    https://github.com/TinkerPatch/tinkerpatch-sample/blob/master/app/src/main/java/tinker/sample/android/app/SampleApplicationLike.java

image.png
名字要改成这汇总

打开manifest,名字与上图保持一致,开始报错,build下就好了
image.png

  1. 配置key,版本
    打开tinkerpatch.gradle
    image.png
    key是刚才申请的
  2. 界面
    一个显示信息,一个按钮关闭进程
    image.png
    image.png

三. 编译

  1. 构建基础包
    image.png
    成功后 安装即可
    image.png
    界面如下
    image.png

2 构建补丁包

  1. 这句注释打开
    image.png

  2. 修改基础包名称
    image.png
    image.png

  3. 开始构建
    image.png
    image.png

  4. 上传
    image.png
    image.png

image.png
提交即可

5.启动app下载补丁(失败的看末尾处说明)
image.png
看log有请求记录,重启app
image.png

说明 :重要
image.png
SampleApplicationLike中默认配置3个小时才会检查一次,所以刚才启动一次,再启动是不会检查的。。。
方法:app清除数据或者卸载重装即可