android Tinker 热修复 乐固加固后友盟打多渠道包之后的补丁失效

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hwl1314/article/details/78757184

继上一篇 android tinker 热修复使用及注意事项  生成了热修复的补丁;

现在的需求是这样的,我想把这个包用腾讯乐固加固,然后生成多渠道包,希望这个补丁能修复所有这些渠道的包,经过测试,直接操作修复失败,解决步骤如下:

参考热修复api文档sdk接入,发现支持加固,处理方法是添加protectedApp=true,api中说是在productFlavor的flavor中添加protectedApp=true:

productFlavors {
        flavor {
            flavorName = "protect"
            appVersion = "${tinkerpatchSupport.appVersion}_${flavorName}"

            pathPrefix = "${bakPath}/${baseInfo}/${flavorName}-${variantName}/"
            name = "${project.name}-${flavorName}-${variantName}"

            baseApkFile = "${pathPrefix}/${name}.apk"
            baseProguardMappingFile = "${pathPrefix}/${name}-mapping.txt"
            baseResourceRFile = "${pathPrefix}/${name}-R.txt"

            /** 开启加固开关,上传此flavor的apk到加固网站进行加固 **/
            protectedApp = true
        }
    }
而项目中可能使用友盟,多渠道是这么写的:


而乐固中也支持多渠道打包,sdk的集成文档上感觉有点繁杂,所以这里其实可以直接先打一个渠道包,随意命名example:crm{},然后通过乐固加固完成后打成多渠道包,乐固的配置如下:


三个渠道tengxun,aliba,qh360,注意这里是重点了:代码中也需要修改配置,在tinkerpatch.gradle添加supportComponent=true,protectedApp=true,1.4.1版本是不支持这些属性的,所以对应的app中build.gradle中的tinkerpatch-android-sdk版本需要从1.4.1改到1.2.1,tinkerpatch-gradle-plugin版本改成1.2.1如下:



修改完毕,亲测乐固打多渠道可以正常修复,如博客中的写的有误请批评指正,谢谢!

猜你喜欢

转载自blog.csdn.net/hwl1314/article/details/78757184