升级Android项目以使用java 8并超出GC开销限制 [英] Upgrade Android project to use java 8 and get GC overhead limit exceeded
问题描述
defaultConfig {
..昨天当我更改我的Android项目gradle文件以使用java 8功能时: 。
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
每件事都很好。我使用lambda表达式并运行该项目。
但是今天,我不知道我的项目会发生什么情况(我重新设置了master将项目升级为使用java 8功能提交)。我无法建立项目。在超过5分钟后,android studio在gradle控制台显示错误:
$ b
线程Tasks limiter_1中的异常java.lang.OutOfMemoryError:超过GC超出限额
并且卡住了
:app:compileDebugJavaWithJack
我注意到一个新文件创建了java_pid25702.hprof这是非常巨大的(约1.5 GB)。
我使用Android studio 2.2,java版本1.8.0_51,Mac book pro(core i7,16gb ram ),OS X 10.11.4版本
我还更改了我的android studiostudio.vmoptions:
-Xms2048m
-Xmx4096m
-XX:MaxPermSize = 2048m
-XX:ReservedCodeCacheSize = 1024m
-XX:+ UseCompressedOops
我看到这些帖子:错误java.lang.OutOfMemoryError:GC开销超出限制, Gradle build hanging当为Java 1.8启用jackOptions 时,但它们都不能帮助我。
我的问题是1 - 为什么我的项目昨天正常工作,但不是? 2 - 我应该怎么做?
经过几个小时并在其他一些系统上测试项目后,我发现我应该更新Android Studio to
Android Studio 2.2稳定版本
并且更新:
Android插件版本为2.2.0
Gradle版本为2.14.1
在gradle控制台显示gradle堆大小较低的警告后,您应该增加以下内容:
org.gradle.jvmargs = -Xmx1536M
添加到项目中的 gradle.properties
文件中。现在我的项目运行没有任何问题。
Yesterday when I changed my android project gradle file to use java 8 features:
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
Every thing was fine. I used lambda expressions and run the project.
But today, I don't know what happen with my project(I reset master to that "upgrading project to use java 8 features" commit). I can't build project. after more than 5 mins android studio shows me an error in gradle console:
Exception in thread "Tasks limiter_1" java.lang.OutOfMemoryError: GC overhead limit exceeded
and it stuck in
:app:compileDebugJavaWithJack
I noticed that a new file created "java_pid25702.hprof" which is very huge(about 1.5 gb).
I'm using Android studio 2.2, java version "1.8.0_51", Mac book pro (core i7, 16gb ram), OS X version 10.11.4
I also changed my android studio "studio.vmoptions" :
-Xms2048m
-Xmx4096m
-XX:MaxPermSize=2048m
-XX:ReservedCodeCacheSize=1024m
-XX:+UseCompressedOops
I see these posts: Error java.lang.OutOfMemoryError: GC overhead limit exceeded , Gradle build hanging when jackOptions is enabled for Java 1.8 but none them helps me.
My question is 1-why my project works correctly yesterday, but not tody??! 2-what should I do?
After a few hours and testing project on some other systems, I found that I should update Android studio to
Android Studio 2.2 stable version
and also update:
Android Plugin version to 2.2.0
Gradle Version to 2.14.1
And after that gradle console show a warning that gradle heap size is low, you should increase that by adding:
org.gradle.jvmargs=-Xmx1536M
to the gradle.properties
file in your project. and now my project run without any problem.
这篇关于升级Android项目以使用java 8并超出GC开销限制的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!