继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Tinker 使用教程

波斯汪
关注TA
已关注
手记 364
粉丝 66
获赞 428

关于Tinker的使用网上很多教程,由于最近项目需要实现热修复,所以就学习了下微信的Tinker 使用,在这记录下方便以后查看。以下是关于Tinker的优缺点。

图片描述
一、Tinker SDK的接入

添加 gradle 插件依赖,在项目的builder.gradle里面添加TinkerPatch 插件

[代码]xml代码:

repositories {

    mavenLocal()
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.0.0'

    //无需再单独引用tinker的其他库
    classpath ("com.tinkerpatch.sdk:tinkerpatch-gradle-plugin:${TINKERPATCH_VERSION}") { changing = true }
}

第二步 集成 TinkerPatch SDK
在app的gradle文件app/build.gradle中
dependencies {

// 多dex 打包的类库compile 'com.android.support:multidex:1.0.1'//无需引入tinker的任何库,使用tinkerpatch sdk即可implementation("com.tinkerpatch.sdk:tinkerpatch-android-sdk:${TINKERPATCH_VERSION}") { changing = true }

}

三、下载官方demo,将项目中的tinkerpatch.gradle文件直接放入自己的项目中,在app的gradle文件app/build.gradle中 添加
apply from: 'tinkerpatch.gradle' //引用tinkerpatch.gradle文件
图片描述
图片描述

修改tinkerpatch.gradle
图片描述

四、在Application 中初始化TinkerPatch

 /**
     * 我们需要确保至少对主进程跟patch进程初始化 TinkerPatch
     */
    private void initTinkerPatch() {        // 我们可以从这里获得Tinker加载过程的信息
        if (BuildConfig.TINKER_ENABLE) {
            tinkerApplicationLike = TinkerPatchApplicationLike.getTinkerPatchApplicationLike();            // 初始化TinkerPatch SDK
            TinkerPatch.init(
                    tinkerApplicationLike//                new TinkerPatch.Builder(tinkerApplicationLike)//                    .requestLoader(new OkHttp3Loader())//                    .build()
            )
                    .reflectPatchLibrary()
                    .setPatchRollbackOnScreenOff(true)
                    .setPatchRestartOnSrceenOff(true)
                    .setFetchPatchIntervalByHours(3)
            ;            // 获取当前的补丁版本
            Log.d(TAG, "Current patch version is " + TinkerPatch.with().getPatchVersion());            // fetchPatchUpdateAndPollWithInterval 与 fetchPatchUpdate(false)
            // 不同的是,会通过handler的方式去轮询
            TinkerPatch.with().fetchPatchUpdateAndPollWithInterval();
        }
    }

五、打包全量包(就是需要发布的有bug 的apk)和补丁
图片描述

图片描述

六、进入官网发布 补丁,秩序将path-signed-7zip.apk发布即可,详细内容请参考官方文档
图片描述
图片描述

提示 Tinker 并不支持即时更新,发布补丁后需重启应用才能实现更新。

原文链接:http://www.apkbus.com/blog-224187-77071.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP