最近Android Studio 3.4發(fā)布了,于是馬上更新了下,但打release包時(shí)居然報(bào)錯(cuò)了
Reading library jar [/Users/fir/Documents/android-sdk-macosx/platforms/android-28/option
al/android.test.runner.jar]
Reading library directory [/Users/fir/Documents/work/graan-client-andorid/app/libs]
Warning: Exception while processing task java.io.IOException: Can't read [/Users/fir/Doc
uments/work/graan-client-andorid/app/libs] (No such file or directory: /Users/fir/Docume
nts/work/graan-client-andorid/app/libs)
Thread(Tasks limiter_4): destruction
Task :app:transformClassesAndResourcesWithProguardForRelease FAILED
FAILURE: Build failed with an exception.
看錯(cuò)誤信息No such file or directory: /Users/fir/Docume nts/work/graan-client-andorid/app/libs
說我沒有l(wèi)ibs文件夾,我看了下有啊,并且以前打包也不會(huì)有類似提示,于是google官網(wǎng)看了下Android Studio 3.4更新日志,說默認(rèn)開啟R8混淆打包,可參考(https://blog.csdn.net/jamin0107/article/details/81123154
),google官方如下:
然后以為是開啟了R8的原因,于是在gradle.properties
中禁用R8
# Disables R8 for Android Library modules only.
android.enableR8.libraries = false
# Disables R8 for all modules.
android.enableR8 = false
然后繼續(xù)打包,結(jié)果依然報(bào)上面的錯(cuò)。
于是就想肯定是跟混淆打包有關(guān)系了,錯(cuò)誤提示說沒有l(wèi)ibs,然后自己有l(wèi)ibs文件夾,但是里面沒任何jar包,然后就想是不是因?yàn)閘ibs里沒有jar包導(dǎo)致,于是直接把libs文件夾刪除了,重新打包,不幸的是依舊報(bào)錯(cuò)。。。
又想了想,可能是proguard文件有啥問題吧,于是找到自己的混淆文件,搜了下libs,然后發(fā)現(xiàn)居然加著這樣一句話-libraryjars libs
,這是避免jar包被混淆的,然后恍然大悟,我libs里根本沒東西,然后還不讓混淆libs里的東西,當(dāng)然找不到了,于是趕緊刪掉這句話,再次打包,果然成功了,大費(fèi)周折一番終于找到了問題的關(guān)鍵?
總結(jié)
遇到類似問題一定要沉下心來看錯(cuò)誤日志,不要嫌一堆log日志心煩,根據(jù)錯(cuò)誤查找一定會(huì)解決問題的。特此記錄下來,希望能幫到別人解決類似問題,大家共勉。