Android热更新(Tinker踩坑之旅)

983 阅读2分钟

1.热更新有很多      每篇文章都会看到大篇幅的解释描述    这里略过

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

2.首先我们先说下坑再贴代码:①我集成了tinker,按照步骤进行。但是,我的手机就是不生效。经过了两天纠结问题在哪,后经人一语点醒 。换了个手机试试他生效了。

注:tinken有一部分手机是我发生效的,我的三款荣耀手机都无发生效,我同事的魅族可以生效其他手机未测试,如果你遇到了集成没问题就是不生效的记得换个机型试试看。祝你们怕坑成功。

3.下面我写一下最新的tinker继承步骤截图   希望少走弯路




这是tinkerpatch.gradle的内容key你要换成你自己的你用我的没用

apply plugin: 'tinkerpatch-support'
/** * TODO: 请按自己的需求修改为适应自己工程的参数 */
def bakPath = file("${buildDir}/bakApk/")
def baseInfo = "app-3.0.3-0416-17-11-55"
def variantName = "release"tinkerpatchSupport {
    /** 可以在debug的时候关闭 tinkerPatch **/
    tinkerEnable = true
    /** 是否使用一键接入功能  **/
    reflectApplication = true
    /** 是否开启加固模式,只有在使用加固时才能开启此开关 **/
    protectedApp = false
    /** 补丁是否支持新增 Activity (exported必须为false)**/
    supportComponent = false
    autoBackupApkPath = "${bakPath}"
    /** 在tinkerpatch.com得到的appKey **/
    appKey = "0da4ac08945a2538"
    /** 注意: 若发布新的全量包, appVersion一定要更新 **/
    appVersion = "3.0.5"
    def pathPrefix = "${bakPath}/${baseInfo}/${variantName}/"
    def name = "${project.name}-${variantName}"
    baseApkFile = "${pathPrefix}/${name}.apk"
    baseProguardMappingFile = "${pathPrefix}/${name}-mapping.txt"
    baseResourceRFile = "${pathPrefix}/${name}-R.txt"}
/** * 用于用户在代码中判断tinkerPatch是否被使能 */
android {
    defaultConfig {
        buildConfigField "boolean", "TINKER_ENABLE", "${tinkerpatchSupport.tinkerEnable}"
    }
}
/** * 一般来说,我们无需对下面的参数做任何的修改 * 对于各参数的详细介绍请参考: * https://github.com/Tencent/tinker/wiki/Tinker-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97 */
tinkerPatch {
    ignoreWarning = true
    useSign = true
    dex {
        dexMode = "jar"
        pattern = ["classes*.dex"]
        loader = []
    }
    lib {
        pattern = ["lib/*/*.so"]
    }
    res {
        pattern = ["res/*", "r/*", "assets/*", "resources.arsc", "AndroidManifest.xml"]
        ignoreChange = []
        largeModSize = 100
    }
    packageConfig {
    }
    sevenZip {
        zipArtifact = "com.tencent.mm:SevenZip:1.1.10"
//        path = "/usr/local/bin/7za"
    }
    buildConfig {
        keepDexApply = false
    }
}



tinkerpatch.com/ 官网地址    ---------》创建应用    拿取appley



以上我们配置就结束了

②下面我们开始看怎么玩


下面我们就要生成基准包



我们下面修复bug


下面我要生成补丁了 打开tinkerpatch.gradle修改baseInfo


下面就是生成补丁


那么下面我们就要上传补丁包到官网


在后台你可以查看下载、合成、应用  数目

③下面我给大家看下我的荣耀手机的报错信息为你们提供个参考()



结尾:

希望有大神可以解决我的这个问题。。。。。。。。。。。。。