集成配置信息
classpath 'com.android.tools.build:gradle:3.3.2'
classpath "com.tencent.bugly:tinker-support:1.1.5"
distributionUrl=https://services.gradle.org/distributions/gradle-5.0-all.zip
api 'com.tencent.bugly:crashreport_upgrade:1.3.6'
api 'com.tencent.tinker:tinker-android-lib:1.9.9'
api 'com.tencent.bugly:nativecrashreport:3.6.0'
mutidex是1.0.3
tinker混淆规则
-dontwarn com.tencent.bugly.**
-keep public class com.tencent.bugly.{*;}
-dontwarn com.tencent.tinker.
-keep class com.tencent.tinker.** { ; }
-keep class android.support.**{;}
开启了反射Application模式 enableProxyApplication = true
开启了多渠道补丁构建 buildAllFlavorsDir = "${bakPath}/${baseApkDir}"
构建补丁包时有出现 TinkerPatchException,增加了ignoreWarning = true 配置
zipArtifact = "com.tencent.mm:SevenZip:1.1.10"
具体操作
1、assembleRelease打基准包,tinkerId=1.7.1-hotfix-base,生成的基准包目录为app-0825-20-42-53;
2、启动apk上报成功,CrashReport: app version is: [1.7.1-hotfix.171], [deviceId:null|null|9106be6245a2e3b2], channel: [guanwang], base tinkerId:[guanwangRelease_1.7.1-hotfix-base], patch tinkerId:[], patch version:[];
3、变更项目代码,修改tinkerId=1.7.1-hotfix-partch-01、基准包目录baseApkDir=app-0825-20-42-53,baseApk、Proguard、Resource配置为基准包中生成文件的对应名称,使用buildAllFlavorsTinkerPatchRelease命令打补丁包;
4、bugly官网后台上传项目中app-build-outputs-patch下的patch_signed_7zip.apk文件,提示:上传失败,文件不合法,请上传有效的补丁包文件;
其他信息
1、patch包中的.MF文件内容:
Created-Time: 2020-08-26 11:49:27.564
Created-By: YaFix(1.1)
YaPatchType: 2
VersionName: 1.7.1-hotfix
VersionCode: 171
From: guanwangRelease_1.7.1-hotfix-base
To: guanwangRelease_1.7.1-hotfix-partch-01
2、bugly后台的版本管理中上报的基准包版本,异常上报、运营统计显示正常,升级更新类型仍是一条横线,不知是否有影响;
3、每次打补丁包完成时,build-bakApk下会生成一个新的基准包目录,里面有一套新的基准包文件,不知是否有影响;