zoukankan      html  css  js  c++  java
  • 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'
            }
        }

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

  • 相关阅读:
    分布式设计与开发(一)------宏观概述
    分布式设计与开发(二)------几种必须了解的分布式算法
    分布式设计与开发(三)------高一致性服务ZooKeeper
    jvm工作原理
    JVM原理和优化
    分布式系统设计原理与方案
    在Linux上安装Memcached服务
    使用Memcached、Spring AOP构建数据库前端缓存框架
    Java使用memcached
    Memcache的部署和使用
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/9778296.html
Copyright © 2011-2022 走看看