序言
最近将Gradle从4.1.1 升级到 8.6.0 遇到了很多坑
升级gradle
1. 修改根目录的build.gradle
dependencies{
classpath'com.android.tools.build:gradle:8.6.0'
}
2. 修改gradle-wrapper.properties
distributionUrl=file\:///D\:/androidtools/gradle/gradle-8.7-all.zip
3.每个模块添加namespace,是模块的包名
4.compileSdkVersion改为34
报错
1.switch语句报错Constant expression required
解决方案:添加配置
在gradle.properties配置文件下添加如下代码即可解决
android.nonFinalResIds=false
链接:https://blog.csdn.net/mjh1667002013/article/details/134763804
2.主module不能引用子module资源文件
解决方案:
只需要在gradle.properties进行如下设置:
android.nonTransitiveRClass=false
链接:https://blog.csdn.net/github_34790294/article/details/125269067
3.Android 混淆打包后gson报错Missing type parameter
解决方案:
在proguard-rules.pro文件添加下面的混淆规则即可解决
-keep,allowobfuscation,allowshrinkingclasscom.google.gson.reflect.TypeToken-keep,allowobfuscation,allowshrinkingclass*extendscom.google.gson.reflect.TypeToken
链接:https://www.cnblogs.com/stars-one/p/17852140.html
4.Android BuildConfig不生成的解决办法
解决方案:
在buildFeatures配置中把buildConfig值手动设为true,重新build下就好了
buildFeatures{
buildConfig=true
}
链接:https://blog.csdn.net/yuzhiqiang_1993/article/details/130431271