• AS打包出现app:transformClassesAndResourcesWithProguardForRelease错误


    今天打包项目的正式签名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'
            }
        }

    修改后,重新打包即可,大功告成。

  • 相关阅读:
    基于Windows Mobile 5.0的GPS应用程序开发
    iis6应用程序池被自动禁用问题 应用程序池'DefaultAppPool' 被自动禁用
    Axapta物流模块深度历险(八)
    AX的报表服务器(一)
    AX的企业门户(一)
    SQL Server2005 Reporting Services 管理站点
    SQL Server2005 Reporting Services的卸载
    耐心的解决问题
    危险操作符
    慢慢的坚持啊
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/9778296.html
Copyright © 2020-2023  润新知