Open scsfwgy opened 3 years ago
com.android.tools.build:gradle:3.4.1 用着没问题,升级到com.android.tools.build:gradle:4.1.1 就报这个错误
经测试, 使用cli方式进行集成的时候可以无视gradle的版本问题
com.android.tools.build:gradle:3.4.1 用着没问题,升级到com.android.tools.build:gradle:4.1.1 就报这个错误
你好,请问你AGP现在是多少,3.4.1?
一样的问题
com.android.tools.build:gradle:3.4.1 用着没问题,升级到com.android.tools.build:gradle:4.1.1 就报这个错误
你好,请问你AGP现在是多少,3.4.1?
经过本人的实践,以及查看最新的bugly的tinker-support.gradle插件,做出如下配置,在agp4.0.0可以完美打release包和差量包
enableProxyApplication = false 的情况,虽然改动比较大,但是可以升级到AGP为4.0.0,这样就可以使用官方的ViewBind(AGP最低支持3.6.3)以及其它一些新特性了,所以还是划算的!
//app的build.gradle
dependencies {
def TINKER_VERSION = "1.9.14.16"
api("com.tencent.tinker:tinker-android-lib:${TINKER_VERSION}")
//从 1.9.14.7版本开始,必须添加
annotationProcessor "com.tencent.tinker:tinker-android-anno:${TINKER_VERSION}"
compileOnly "com.tencent.tinker:tinker-android-anno-support:${TINKER_VERSION}"
}
// 工程的build.gradle
dependencies {
classpath 'com.android.tools.build:gradle:4.0.0'
classpath "com.tencent.bugly:tinker-support:1.2.3"
}
//而且这个版本已经兼容R8了,
//所以可以放心的开启R8混淆了(默认R8混淆是开启的,当然也可以在gradle.properties中复写)
// app的gradle.properties
android.enableR8 = true
//我使用的gradle-wrapper是6.7.1
// gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-6.7.1-all.zip
tinkerPatch {
............
sevenZip {
zipArtifact = "com.tencent.mm:SevenZip:1.1.10"
// 2021-08-07 由于使用了M1的mac编译,bugly没有将arm版本的7zip发布到jcenter()中,只能使用本机的7zip来最后打压缩差量包apk
// 使用window的用户可以注释掉这行代码。
path = "/opt/homebrew/bin/7za"
}
.......
//从 1.9.14.5开始,如果minSdk>21,需要添加下面两行配置
// for minSdk >= 21 add two value
allowLoaderInAnyDex = true
removeLoaderForAllDex = true
}
我把官方的demo也给升级了一下,有兴趣可以下载下来,试一试 https://github.com/shaycormac/BuglyHotfixDemo
distributionUrl=https://services.gradle.org/distributions/gradle-6.5-all.zip
classpath 'com.android.tools.build:gradle:4.1.1' classpath 'com.tencent.bugly:tinker-support:1.2.3'
//https://github.com/Tencent/tinker api 'com.tencent.tinker:tinker-android-lib:1.9.14.15' //https://mvnrepository.com/artifact/com.tencent.bugly/crashreport_upgrade?repo=jcenter api 'com.tencent.bugly:crashreport_upgrade:1.5.1'
classpath 'com.android.tools.build:gradle:4.1.1' 这个升级导致的,3.4.1就ok
打包、安装什么都没问题,但是打补丁包报以下错误:
` Execution failed for task ':app:tinkerPatchRelease'.
Originally posted by @scsfwgy in https://github.com/Tencent/tinker/issues/1509#issuecomment-833337170