Android版本更新踩坑,Android Studio 3.0升级后踩到的坑
最近升級了Android Studio 3.1.2,還沒沉浸在歡樂中,就當(dāng)頭一棒,更新項目沒事,但是運(yùn)行項目就報錯。錯誤信息如下:
Caused by: org.gradle.tooling.BuildException: Warnings found during shrinking, please use -dontwarn or -ignorewarnings to suppress them.
具體詳情是:
錯誤
對于我這種英文戰(zhàn)五渣,費(fèi)老鼻子勁了,各種翻譯,還是沒有發(fā)現(xiàn)問題的關(guān)鍵。但是問題還是要解決,不然項目都run不起了。
然后各種嘗試,突然想起我的app下的build.gradle文檔配置信息可能有問題,于是查看該文件,發(fā)現(xiàn)是這樣寫的:
buildTypes {
debug {
// 顯示Log
buildConfigField "boolean","LOG_DEBUG","true"
versionNameSuffix "-debug"
minifyEnabled true //混淆打包
shrinkResources true // 刪除無效資源
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-ules.pro'
}
...
}
我靈機(jī)一動,覺得可能是shrinkResources true這個導(dǎo)致的(沒辦法,以前Android Studio 2.3.2打包的時候遇到過這個坑),于是,我把shrinkResources 的值改成了false,再run,發(fā)現(xiàn)log顯示:
Warnings found during shrinking, please use -dontwarn or -ignorewarnings to suppress them.
果然,報錯不一樣了,又是英文,老辦法,翻譯唄,猜想是混淆打包的鍋。翻譯出來是:
在收縮期間發(fā)現(xiàn)的警告,請使用DOWTWARN或-ICONRIONG警告來抑制它們。
what?什么玩意兒,不過-dontwarn or -ignorewarnings 都是混淆打包才有的專業(yè)術(shù)語,于是,修改minifyEnabled false,最后如下:
buildTypes {
debug {
// 顯示Log
buildConfigField "boolean","LOG_DEBUG","true"
versionNameSuffix "-debug"
minifyEnabled false
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-ules.pro'
}
...
}
再運(yùn)行,debug版本運(yùn)行成功!
不過雖然解決了,但是Android Studio 2.3.2 也是這樣配置的,并沒有出問題呀?而且minifyEnabled 和shrinkResources 的release版本值都是true,debug版本出問題,我擔(dān)心release版本打包后也會出問題,于是,打包嘗試了下,發(fā)現(xiàn),居然沒出問題,成功打包,什么情況?并且能運(yùn)行起來,簡單看了下,也沒報錯。
這么邪門的3.1.2版本,我已經(jīng)無語了,這里記錄下。
最后,經(jīng)過不懈努力,終于,我還是找到了解決辦法(我就是想使用混淆代碼!!!),代碼如下:
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這個設(shè)置,報錯就奇跡般沒了,沒了,沒了!!!
查找資料,useProguard true是開啟混淆的意思,這樣,程序就好了。
好了,完美解決,結(jié)束!
總結(jié)
以上是生活随笔為你收集整理的Android版本更新踩坑,Android Studio 3.0升级后踩到的坑的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: win8能开发android的sdk么,
- 下一篇: 鸿蒙大陆武器合成,鸿蒙大陆9.1攻略(附