記錄 升級到Gradle 8.6.0 遇到的坑

序言

最近將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進(jìn)行如下設(shè)置:

android.nonTransitiveRClass=false

鏈接:https://blog.csdn.net/github_34790294/article/details/125269067

3.Android 混淆打包后gson報錯Missing type parameter

解決方案:

在proguard-rules.pro文件添加下面的混淆規(guī)則即可解決

-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值手動設(shè)為true,重新build下就好了

buildFeatures{

? ? buildConfig=true

}

鏈接:https://blog.csdn.net/yuzhiqiang_1993/article/details/130431271

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容