转换为Dalvik格式失败:无法执行dex:超过GC开销限制

5

我一直卡在这个错误上已经三个小时了。当我从 SVN 上检出最新代码后,它突然停止工作。

注意:

我的新项目大小约为135 MB,我正在使用 Eclipse Kepler。

此外,我的App/res/libs中有3个名为 sqlite.jar、ksoap2.jar 和 rt.jar 的jar包。

所以我在 Google 上搜索并找到了这个答案。还有Blog 1Blog 2。我已经编辑了eclipse.ini文件。

修改前:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms40m
-Xmx512m

To

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20130327-1440.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140116-2212
-product
org.eclipse.epp.package.standard.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
1024M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms512m
-Xmx1024m 

但是它仍然无法工作,并在eclipse中出现相同的错误。 任何帮助将不胜感激。

1
也许尝试将内存增加到1024以上。 - Vinay Lodha
@Vinay Lodha 感谢您的回复,但我该怎么办?我有4GB的RAM,所以应该将大小从1024增加到2048吗? - TheFlash
尝试过了,但没有得到任何解决方案。 - Er.Shreyansh Shah
1
如果使用2048 RAM还不能正常工作,那我想这可能与内存无关...我猜我已经没有更多想法了。 - Vinay Lodha
2个回答

6
这个问题的解决方案是从项目中移除rt.jar(其中包含18635个类文件)。这是一个很重的jar文件,在JRE或J2EE/J2ME中默认使用。但在Android中不需要,默认情况下没有此文件,所以我们需要手动添加。

我也遇到了同样的问题。请再解释清楚一些好吗?我应该在哪里删除rt.jar文件呢?手动添加的方法是怎样的呢?需要帮助... - Sun
@Ravi:你需要从JDK中删除rt.jar文件,然后在Eclipse中转到“Window --> Preferences, Java --> Installed JREs”选项卡,选择JDK并点击编辑,你应该可以看到rt.jar文件是第二个jar文件。选择并删除即可。 - jnrcorp
我遇到了一个错误:Java启动了但是返回了退出码1。有什么解决办法吗? - Ram
@Ram:能否请您发送完整的错误信息、屏幕截图或相关链接,这样我才能理解。 - Er.Shreyansh Shah
@Er.ShreyanshShah 我遇到了同样的错误。只有一个项目出现了这个问题,它有很多类。我应该怎么做才能解决这个问题?我已经删除了你提到的文件,但还是出现了同样的错误。 - DKV
显示剩余2条评论

1
在Eclipse配置设置文件中增加这些参数的值。
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m

使它们成为-
-XX:MaxPermSize=1024m
-Xms512m
-Xmx1024m

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接