Android studio遇到 java.lang.OutOfMemoryError: GC app:transformClassesWithDexForDebug解决方法 以及gradle优化
来源:互联网 发布:linux连接工具 ssh 编辑:程序博客网 时间:2024/06/08 09:12
Android studio遇到 java.lang.OutOfMemoryError: GC app:transformClassesWithDexForDebug解决方法 以及gradle优化设置
Android studio引入或者新建工程编译发现报以下错误,详细日志如下:
Error:Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceededError:Uncaught translation error: java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: GC overhead limit exceededError:2 errors; aborting:app:transformClassesWithDexForDebug FAILEDError:Execution failed for task ':app:transformClassesWithDexForDebug'.> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_74\bin\java.exe'' finished with non-zero exit value 1Information:BUILD FAILEDInformation:Total time: 6 mins 23.159 secsInformation:See complete output in consoleInformation:1,876 errorsInformation:0 warnings
大家看到OOM一开始就是想到内存问题,
app:transformClassesWithDexForDebug问题大家应该比较熟悉了,
例如常见的是包冲突或者jar冲突导致的,去检查下build.gradle,工具会提醒报错,大家修改后重新编译即可.
这里的提示的是java.lang.OutOfMemoryError: GC overhead,应该就是Android studio分配的内存不够引起的.
还有一个问题发现编译时间长达6分多钟.
所以做了以下优化测试可以解决:
1.打开AS安装目录所在的位置,bin目录下,如图:
2.用记事本软件打开1中文件.
修改为以下内容,增加分配默认内存(具体内存可以适当加大):
## *DO NOT* modify this file directly. If there is a value that you would like to override,# please add it to your user specific configuration file.## See http://tools.android.com/tech-docs/configuration#-Xms2048m-Xmx2048m-XX:MaxPermSize=2048m-XX:ReservedCodeCacheSize=1024m-XX:+UseConcMarkSweepGC-XX:SoftRefLRUPolicyMSPerMB=50-da-Djna.nosys=true-Djna.boot.library.path=-Djna.debug_load=true-Djna.debug_load.jna=true-Dsun.io.useCanonCaches=false-Djava.net.preferIPv4Stack=true-XX:+HeapDumpOnOutOfMemoryError-Didea.paths.selector=AndroidStudio2.0-Didea.platform.prefix=AndroidStudio
3.打开对应的项目中的“gradle.properties”文件,
修改值为以下内容,增大内存分配(具体内存可以适当加大):
# Project-wide Gradle settings.# IDE (e.g. Android Studio) users:# Settings specified in this file will override any Gradle settings# configured through the IDE.# For more details on how to configure your build environment visit# http://www.gradle.org/docs/current/userguide/build_environment.html# The Gradle daemon aims to improve the startup and execution time of Gradle.# When set to true the Gradle daemon is to run the build.# TODO: disable daemon on CI, since builds should be clean and reliable on serversorg.gradle.daemon=true# Specifies the JVM arguments used for the daemon process.# The setting is particularly useful for tweaking memory settings.# Default value: -Xmx10248m -XX:MaxPermSize=256morg.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8# When configured, Gradle will run in incubating parallel mode.# This option should only be used with decoupled projects. More details, visit# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projectsorg.gradle.parallel=true# Enables new incubating mode that makes Gradle selective when configuring projects.# Only relevant projects are configured which results in faster builds for large multi-projects.# http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:configuration_on_demandorg.gradle.configureondemand=true
然后gradle优化设置:
1.修改gradle-wrapper.properties文件:
例如内容:
具体版本与实际保持一致
2.关闭编译是读取网络资源,节省编译时间
file->setting菜单进入如下设置:
然后进入以下菜单设置:
现在设置完成了,我再次编译下看下结果:
发现编译成功了,而且时间也短了不少(PS:公司电脑有点反应慢,哈哈,所以现在编译还是比较慢的,单相对于之前快了很多)
以上配置解决了遇到的java.lang.OutOfMemoryError: GC app:transformClassesWithDexForDebug编译错误,后面相关设置也优化了编译时间问题,希望对大家有所帮助.
大家发现有更好的解决与优化版本可以一起分享与沟通一下.
- Android studio遇到 java.lang.OutOfMemoryError: GC app:transformClassesWithDexForDebug解决方法 以及gradle优化
- 编译android遇到java虚拟机堆内存不够的问题 java.lang.OutOfMemoryError: GC overhead limit exceeded 解决方法
- android gradle assembleRelease 的时候报java.lang.OutOfMemoryError: GC overhead limit exceeded”
- Android Studio2.0遇到Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
- android Studio遇到transformClassesWithDexForDebug错误
- Android Studio编译报错“java.lang.OutOfMemoryError: GC overhead limit exceeded”
- Android Studio 编译报错“java.lang.OutOfMemoryError: GC overhead limit exceeded”
- Android Studio编译报错“java.lang.OutOfMemoryError: GC overhead limit exceeded”
- Android Studio编译报错“java.lang.OutOfMemoryError: GC overhead limit exceeded”
- studio java.lang.OutOfMemoryError: GC overhead limit exceeded
- java.lang.OutOfMemoryError: GC overhead limit exceeded ECLIPSE解决方法
- java.lang.OutOfMemoryError:GC overhead limit exceeded解决方法
- java.lang.OutOfMemoryError:GC overhead limit exceeded解决方法
- android android Error:java.lang.OutOfMemoryError: GC overhead limit exceeded
- java.lang.OutOfMemoryError 解决方法
- java.lang.OutOfMemoryError解决方法
- java.lang.OutOfMemoryError 解决方法
- java.lang.outofMemoryError解决方法
- 关于Java中反射和注解的使用
- 7、分类
- windows平台下的eclipse远程连接cdh5
- .a文件如何打包到Android项目中
- spring data jpa 懒加载 处置
- Android studio遇到 java.lang.OutOfMemoryError: GC app:transformClassesWithDexForDebug解决方法 以及gradle优化
- Qt中int转换成QString
- [编程题]洗牌
- Unity官方脚本(一)
- 文章标题 POJ 2349:Arctic Network ( 最小生成树Kruskal算法+并查集)
- Android使用echarts
- 水手分椰子类型题简易通解公式及推导(完整版)
- Unique Paths II leetcode
- iOS8统一的系统提示控件——UIAlertController