今天打包项目的正式签名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' } }
修改后,重新打包即可,大功告成。