日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android版本更新踩坑,Android Studio 3.0升级后踩到的坑

發布時間:2025/3/19 Android 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android版本更新踩坑,Android Studio 3.0升级后踩到的坑 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近升級了Android Studio 3.1.2,還沒沉浸在歡樂中,就當頭一棒,更新項目沒事,但是運行項目就報錯。錯誤信息如下:

Caused by: org.gradle.tooling.BuildException: Warnings found during shrinking, please use -dontwarn or -ignorewarnings to suppress them.

具體詳情是:

錯誤

對于我這種英文戰五渣,費老鼻子勁了,各種翻譯,還是沒有發現問題的關鍵。但是問題還是要解決,不然項目都run不起了。

然后各種嘗試,突然想起我的app下的build.gradle文檔配置信息可能有問題,于是查看該文件,發現是這樣寫的:

buildTypes {

debug {

// 顯示Log

buildConfigField "boolean","LOG_DEBUG","true"

versionNameSuffix "-debug"

minifyEnabled true //混淆打包

shrinkResources true // 刪除無效資源

proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-ules.pro'

}

...

}

我靈機一動,覺得可能是shrinkResources true這個導致的(沒辦法,以前Android Studio 2.3.2打包的時候遇到過這個坑),于是,我把shrinkResources 的值改成了false,再run,發現log顯示:

Warnings found during shrinking, please use -dontwarn or -ignorewarnings to suppress them.

果然,報錯不一樣了,又是英文,老辦法,翻譯唄,猜想是混淆打包的鍋。翻譯出來是:

在收縮期間發現的警告,請使用DOWTWARN或-ICONRIONG警告來抑制它們。

what?什么玩意兒,不過-dontwarn or -ignorewarnings 都是混淆打包才有的專業術語,于是,修改minifyEnabled false,最后如下:

buildTypes {

debug {

// 顯示Log

buildConfigField "boolean","LOG_DEBUG","true"

versionNameSuffix "-debug"

minifyEnabled false

shrinkResources false

proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-ules.pro'

}

...

}

再運行,debug版本運行成功!

不過雖然解決了,但是Android Studio 2.3.2 也是這樣配置的,并沒有出問題呀?而且minifyEnabled 和shrinkResources 的release版本值都是true,debug版本出問題,我擔心release版本打包后也會出問題,于是,打包嘗試了下,發現,居然沒出問題,成功打包,什么情況?并且能運行起來,簡單看了下,也沒報錯。

這么邪門的3.1.2版本,我已經無語了,這里記錄下。

最后,經過不懈努力,終于,我還是找到了解決辦法(我就是想使用混淆代碼!!!),代碼如下:

buildTypes {

debug {

// 顯示Log

buildConfigField "boolean","LOG_DEBUG","true"

versionNameSuffix "-debug"

minifyEnabled true

shrinkResources true

useProguard true

proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-ules.pro'

}

...

}

沒錯,追加一行useProguard true這個設置,報錯就奇跡般沒了,沒了,沒了!!!

查找資料,useProguard true是開啟混淆的意思,這樣,程序就好了。

好了,完美解決,結束!

總結

以上是生活随笔為你收集整理的Android版本更新踩坑,Android Studio 3.0升级后踩到的坑的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。