今天打包專案的正式簽名APK出現以下錯誤,當時挺著急用的實在沒辦法就只能用測試apk湊合來對付一下了
Error:Execution failed for task ':app:transformClassesAndResourcesWithProguardForRelease'. > java.io.IOException: Please correct the above warnings first.
解決問題歷經千辛萬苦啊
出現這個問題首先看看是不是編譯
出問題了,畢竟使用的電腦配置不高卡得要死,所以又重新試了幾遍仍然是這個錯誤,還嘗試著重啟電腦來仍然不行,後面再催得緊~~我當時是崩潰的。。
然後請教萬能的 度娘,stackoverfolw上有人收是由於升級As後單元測試外掛未升級導致的,接下來就找同事沒有升級的去打包,不幸的是還是同樣的錯誤,同事告訴說是由於jar包衝突導致
當時專案急著要用,發過測試版就幹別的活兒了。此問題暫時放一放……
直到晚上回家,仍然想不通為啥出現這個問題,繼續嘗試。最後解決問題,出現問題的原因在這裡,啥都不說了,看下面的程式碼吧
buildTypes { release { minifyEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
原因分析:
以下兩句是在看到一篇android效能優化的文章後新增的,目的是為了減小安裝包的大小,這樣做確實會去掉用不到的資原始檔達到減小安裝包的目的。
- 在這裡開啟了混淆,但是未加入相應的混淆規則,所以在專案編譯時出錯了
minifyEnabled true shrinkResources true
新增這樣的兩句出現的錯誤就是前文那樣,經過測試,一定會出現的,如有不同意見請給我留言,敬請指教。
修改方法
修改後如下:
buildTypes { release { minifyEnabled false shrinkResources false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } }
修改後,重新打包即可,大功告成。