昨晚正在干着自己的事,另外一个同学说项目打包不了,但是可以debug运行。又急着需要打包apk发给那边人去测试。真的是搞事情,赶紧打开项目试试打包。项目从之前的$Eclipse$中转过来的,清楚的记得当时转成功后第一件事就是测试能不能编译运行,第二就是尝试打包自动更新。确定当时没有问题,但是之后在上面又开发了些东西,gradle加了一些包啊啥的。

错误



打包过程特别慢,那个圈一直转,我还将网切换到了自己的手机热点,因为我知道实验室的网会导致有的包下载不了,但是最后打包了半天,失败了。。。。

开始各种搜索。。。。。。。。。。

填坑过程(可直接看后面的解决

  1. 网上确实有很一些帖子啊,就说需要defaultConfig下添加multiDexEnabled true,这句话是干什么用的呢,就是分包,为什么需要分包呢,因为工程的方法数超过了64k,详见我的另外一篇文章Android工程方法数超过64K。这就说明我是有这句话的,而且看看报错异常中确实有multi的字样。而这个确实也是后来转为Androif Studio后加的,所以基本问题就定位到这里了。
  2. 所以去掉了这个分包功能(我知道去掉肯定会无法运行,只是想看看打包apk的时候会不会报这个error),事实证明,直接提示方法数超过64k,编译不过,我真是天真。
  3. 去看了看添加的gradle配置
implementation 'com.android.support:multidex:1.0.1'

果然上面提示最新版本1.0.3,好吧,我改成最新版本,重写gradle下载,这个时候就出现了一转圈,我去打开了External Liberaies看看,结果发现了这个



不对啊,我明明是1.0.3,怎么下载了1.0.2,一脸懵逼,猜想是我使用的compileSdkVersion 27,1.0.3需要更高版本吧,个人猜想而已。我又改成了1.0.2,最后满怀期待的打包,啪,,,异常依旧。心死。。。

4. 想着今天晚上可能打包不了了,哎,仔细看看异常。 注意到了这句话

java.lang.OutOfMemorayError:GC overhead limit exceed

内存溢出,GC出问题了????,难道这不应该是跑程序会出的问题吗,搞笑,copy,百度,一通搜索后,这样一句话映入眼帘.

javaMaxHeapSize "4g"

这句话写在app.gradledexOptions下,字面意思,指定堆大小4g,联想到内存溢出。先不管,搞上去,试一试打包。Perfect。。。。。。。。unbelievable。。。amazing。。。。

解决

在在app.gradlebuildTypesdexOptions下添加

javaMaxHeapSize "4g"

当然可以设定更大一些,似乎根据自己的pc配置来的。

最后

生命不息,使劲造Android填坑—Error:Execution failed for task ':app:transformClassesWithDexForRelease'

Android填坑—Error:Execution failed for task ':app:transformClassesWithDexForRelease'的更多相关文章

  1. 关于android studio 出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'. 的解决办法

    Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency 2018年 ...

  2. ANDROID打包错误ERROR:EXECUTION FAILED FOR TASK ´:APP:LINTVITALRELEASE´.

    来自:http://dditblog.com/itshare_657.html 今天修改之前的项目之后.准备打包的时候.一起打包不了.一直提示有问题.错误是一些什么Strings.xml里面的一些信息 ...

  3. Android Studio3.0 Error:Execution failed for task ':app:javaPreCompileDebug' 错误

    Error:Execution failed for task ':app:javaPreCompileDebug'. > Annotation processors must be expli ...

  4. Android Studio:Error:Execution failed for task ':app:mergeDebugResources'. > Some file crunching failed, see logs for details

    Gradle 编译错误: 14:39:58 Executing tasks: [clean, :app:generateDebugSources, :app:mockableAndroidJar, : ...

  5. android开发解决Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: java.lang.RuntimeException: c.....

    网上常见的方法我都试过,都没能解决,偶然看到的一个方法解决了,在这了记录一下. 在App目录下的build.gradle的android{ ...  ....}中添加如下代码,即可解决.(xx.xx. ...

  6. Android Studio 运行出现 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

    转载请标明出处: http://www.cnblogs.com/why168888/p/5978381.html 本文出自:[Edwin博客园] 我引用compile 'com.squareup.re ...

  7. Error:Execution failed for task ':app:dexDebug'. > com.android.ide.common.process.ProcessException

    异常Log: Error:Execution failed for task ‘:app:dexDebug’. > com.android.ide.common.process.ProcessE ...

  8. Android:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.

    今天开发Android项目时,导入了http有关架包后,程序编译报错如下: Error:Execution failed for task ':app:transformResourcesWithMe ...

  9. Android Studio Error:Execution failed for task ':app:preDebugAndroidTestBuild'.彻底解决的方法以及修改AScompileSDKVersion

    Error Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency ...

随机推荐

  1. 回忆一下Node(随时更改,想到什么写什么)

    什么是Node? Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境 Node.js使用了一个事件驱动.非阻塞式I/O的模型,使其轻量又高效 事件驱动: 任务执行,发布者 ...

  2. Vue中使用watch computed

    watch:监听属性,来监听dta中的数据变化  或者route的变化 computed:计算属性, <!DOCTYPE html> <html lang="en" ...

  3. PHP经典面试题01

    五.基础及程序题(建议使用你擅长的语言:C/C++.PHP.Java) 5.写一个排序算法,可以是冒泡排序或者是快速排序,假设待排序对象是一个维数组.(提示:不能使用系统已有函数,另外请仔细回忆以前学 ...

  4. MaxTenuringThreshold与阈值的动态调整理论详解

    今天会学习“MaxTenuringThreshold”这样一个新的JVM参数,编写的示例还是会基于上一次的代码,新建个类,如下: 接下来给它设置JVM的参数,具体如下: 而接下来会新增三个参数: 这个 ...

  5. jquery基础知识2

    1.js和jquery对象的转换 js==>jquery对象 $(js对象) jquery==>js jq对象[index] jq对象.get(index) <!DOCTYPE ht ...

  6. POJ 2155 Matrix[树状数组+差分]

    原题链接:https://vjudge.net/problem/POJ-2155 题目大意 给定 n* n 矩阵A,其元素为0或1. A [i][j] 表示第i行和第j列中的数字.最初全为0. 我们有 ...

  7. Oracle递归查询connect by

    一.概述 Oracle中可以通过START WITH . . . CONNECT BY . . .子句来实现SQL的层次查询. 自从Oracle 9i开始,可以通过 SYS_CONNECT_BY_PA ...

  8. "=="和equals小结

    通俗点讲,==是看看左右是不是一个东西.equals是看看左右是不是长得一样.如何记住嘛.如果单纯是想记住,  ==:等于.equals:相同.两个长得一样的人,只能说长的相同(equals),但是不 ...

  9. 获取历史K线数据的几个方法

    1.通过已有的股票交易软件下载数据,如果他们是开源结构的,就可以解析他们的K线数据. 2.在互联网上抓取数据 int iStockCode;CString strUrl; 通过OpenUrl.Read ...

  10. javaWeb下载

    ---恢复内容开始--- 下载 1. 下载就是向客户端响应字节数据!  原来我们响应的都是html的字符数据!  把一个文件变成字节数组,使用response.getOutputStream()来各应 ...