急!!android编译遇到java.lang.OutOfMemoryError: GC overhead limit exceeded错误

jacobin jacobin 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在编译android2.3的工程时遇到错误
UNEXPECTED TOP-LEVEL ERROR:
java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.util.HashSet.<init>(HashSet.java:125)
at com.android.dx.dex.code.StdCatchBuilder.getCatchTypes(StdCatchBuilder.java:97)
at com.android.dx.dex.code.DalvCode.getCatchTypes(DalvCode.java:166)
at com.android.dx.dex.file.CodeItem.addContents(CodeItem.java:126)
at com.android.dx.dex.file.MixedItemSection.prepare0(MixedItemSection.java:280)
at com.android.dx.dex.file.Section.prepare(Section.java:214)
at com.android.dx.dex.file.DexFile.toDex0(DexFile.java:486)
at com.android.dx.dex.file.DexFile.toDex(DexFile.java:196)
at com.android.dx.command.dexer.Main.writeDex(Main.java:427)
at com.android.dx.command.dexer.Main.run(Main.java:180)
at com.android.dx.command.dexer.Main.main(Main.java:157)
at com.android.dx.command.Main.main(Main.java:89)
make: *** [out/target/common/obj/JAVA_LIBRARIES/framework_intermediates/noproguard.classes-with-local.dex] Error 3

编译环境为ubuntu10.10

在网上搜索了一下解决方法
二、解释:
JDK6新增错误类型。当GC为释放很小空间占用大量时间时抛出。
一般是因为堆太小。导致异常的原因:没有足够的内存。

三、解决方案:
1、查看系统是否有使用大内存的代码或死循环。
2、可以添加JVM的启动参数来限制使用内存:-XX:-UseGCOverheadLimit

但是不知道如何去添加JVM启动参数
哪位大虾能指点一下,给一个详细的流程。

PS:相同的代码,在另一台配置一样的机器上可以编译通过,见鬼了..
在线等

...全文

相关推荐

评论 9
收藏 已收藏
分享
返回顶部
jacobin
Android 80,489 成员 91,375 内容