Android填坑—Error:Execution failed for task ':app:transformClassesWithDexForRelease'
昨晚正在干着自己的事,另外一个同学说项目打包不了,但是可以debug运行。又急着需要打包apk发给那边人去测试。真的是搞事情,赶紧打开项目试试打包。项目从之前的$Eclipse$中转过来的,清楚的记得当时转成功后第一件事就是测试能不能编译运行,第二就是尝试打包自动更新。确定当时没有问题,但是之后在上面又开发了些东西,gradle加了一些包啊啥的。
错误
打包过程特别慢,那个圈一直转,我还将网切换到了自己的手机热点,因为我知道实验室的网会导致有的包下载不了,但是最后打包了半天,失败了。。。。
开始各种搜索。。。。。。。。。。
填坑过程(可直接看后面的解决)
- 网上确实有很一些帖子啊,就说需要
defaultConfig
下添加multiDexEnabled true
,这句话是干什么用的呢,就是分包,为什么需要分包呢,因为工程的方法数超过了64k,详见我的另外一篇文章Android工程方法数超过64K。这就说明我是有这句话的,而且看看报错异常中确实有multi
的字样。而这个确实也是后来转为Androif Studio后加的,所以基本问题就定位到这里了。 - 所以去掉了这个分包功能(我知道去掉肯定会无法运行,只是想看看打包apk的时候会不会报这个error),事实证明,直接提示方法数超过64k,编译不过,我真是天真。
- 去看了看添加的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.gradle
的dexOptions
下,字面意思,指定堆大小4g,联想到内存溢出。先不管,搞上去,试一试打包。Perfect。。。。。。。。unbelievable。。。amazing。。。。
解决
在在app.gradle
的buildTypes
的dexOptions
下添加
javaMaxHeapSize "4g"
当然可以设定更大一些,似乎根据自己的pc配置来的。
最后
生命不息,使劲造Android填坑—Error:Execution failed for task ':app:transformClassesWithDexForRelease'
Android填坑—Error:Execution failed for task ':app:transformClassesWithDexForRelease'的更多相关文章
- 关于android studio 出现Error:Execution failed for task ':app:preDebugAndroidTestBuild'. 的解决办法
Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency 2018年 ...
- ANDROID打包错误ERROR:EXECUTION FAILED FOR TASK ´:APP:LINTVITALRELEASE´.
来自:http://dditblog.com/itshare_657.html 今天修改之前的项目之后.准备打包的时候.一起打包不了.一直提示有问题.错误是一些什么Strings.xml里面的一些信息 ...
- Android Studio3.0 Error:Execution failed for task ':app:javaPreCompileDebug' 错误
Error:Execution failed for task ':app:javaPreCompileDebug'. > Annotation processors must be expli ...
- 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, : ...
- android开发解决Error:Execution failed for task ':app:transformDexArchiveWithExternalLibsDexMergerForDebug'. > java.lang.RuntimeException: java.lang.RuntimeException: c.....
网上常见的方法我都试过,都没能解决,偶然看到的一个方法解决了,在这了记录一下. 在App目录下的build.gradle的android{ ... ....}中添加如下代码,即可解决.(xx.xx. ...
- Android Studio 运行出现 Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
转载请标明出处: http://www.cnblogs.com/why168888/p/5978381.html 本文出自:[Edwin博客园] 我引用compile 'com.squareup.re ...
- 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 ...
- Android:Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
今天开发Android项目时,导入了http有关架包后,程序编译报错如下: Error:Execution failed for task ':app:transformResourcesWithMe ...
- Android Studio Error:Execution failed for task ':app:preDebugAndroidTestBuild'.彻底解决的方法以及修改AScompileSDKVersion
Error Error:Execution failed for task ':app:preDebugAndroidTestBuild'. > Conflict with dependency ...
随机推荐
- js钩子函数实现一个简单动画
<!DOCTYPE html> <html> <head> <title></title> <meta charset="u ...
- H5之拖拽
步骤: 1.为将要拖拽的元素设置允许拖拽,并赋予dragstart事件将其id转换成数据保存: 2.为容器添加dragover属性添加事件阻止浏览器默认事件,允许元素放置,并赋予drop事件进行元素的 ...
- [LeetCode] 137. 只出现一次的数字,其余三次 II ☆☆☆
描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次.找出那个只出现了一次的元素. 说明: 你的算法应该具有线性时间复杂度. 你可以不使用额外空间来实现吗? 示例 1: 输 ...
- 【leetcode】366.Find Leaves of Binary Tree
原题 Given a binary tree, collect a tree's nodes as if you were doing this: Collect and remove all lea ...
- python txt文件读写(追加、覆盖)
(1)在lucky.txt中新增内容(覆盖:每次运行都会重新写入内容) f = "lucky.txt" a =8 with open(f,"w") as fil ...
- docker 推送镜像到阿里云
1. 登录阿里云Docker Registry $ sudo docker login --username=www.18860363800@hotmail.com registry.cn-beiji ...
- Vue + Springboot 开发的简单的用户管理系统
后台接口如下: 页面如下: 1. 主页,显示所有的用户信息 2. 点击详情,看到某个id的用户的详细信息 3. 点击编辑按钮,跳转到的详细的编辑(更新)页面 4. 添加用户页面 对应的vue代码如下 ...
- leetcode-2-重复的DNA序列
所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG".在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助. 编写一个函 ...
- 2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线)
2018 ACM 国际大学生程序设计竞赛上海大都会赛重现赛 F Color it (扫描线) 链接:https://ac.nowcoder.com/acm/contest/163/F来源:牛客网 时间 ...
- uWSGI ,WSGI和uwsgi的区别
1.1.为方便理解,uWSGI ,WSGI和uwsgi在网站项目流程图中的功能如下: 1.2.网站项目结构图 2.uWSGI ,WSGI和uwsgi的区别 2.1 WSGI: WSGI,全称 Web ...