链接Google Play服务后,Eclipse崩溃并显示超出GC限制。

4

我正在使用LibGdx开发项目,最近几天一直在尝试解决问题,但未能成功。我已经看了很多关于同样问题的帖子,但都没有用。

基本上,只要我将我的Android项目与google-play-services-lib链接并尝试调试,我的项目就会在调试过程中停留在99%完成状态,然后收到以下错误:

Unable to execute dex: GC overhead limit exceeded                             
GC overhead limit exceeded

即使我在eclipse.ini中增加了内存,我仍然遇到了这个错误。 我了解到,您必须不断增加内存直到它起作用,并且我已经将其设置为-Xms4600m和-Xmx4600m,但仍然遇到此问题。 我觉得这有点过分了(我只有6GB的RAM),所以我现在已经将其降低了。 必须有某种不同的解决方案。 下面是我的当前eclipse.ini的设置。 我错过了什么吗? 我尝试过更新最新的Google Play服务,但没有成功。 我陷入了困境...

我的eclipse.ini:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326
-product
org.eclipse.epp.package.java.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
1536M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1536m
--launcher.defaultAction
openFile
--launcher.appendVmargs
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Xms2028m
-Xmx4072m

我非常感谢能得到您的帮助。提前谢谢。

1个回答

1

您可能需要激活multidex,也许使用play services会超出Dalvik"DEX"的类限制。请参阅以下内容:

https://developer.android.com/tools/building/multidex.html

我曾经在某个地方读到一个人的评论,他说可以通过以下方法来解决类似错误:

我将 Google Play Services 库文件复制到了我的工作空间中,并从那里导入。后来我删除了该文件夹并将其放到了工作空间之外,然后再次导入时勾选了 将项目复制到我的工作空间,这样就完美解决了问题。

我不知道这是否能解决你的问题,但或许对你有所帮助。如果不行,请告诉我并删除此回复。


不幸的是,我尝试了工作区建议,但它没有起作用。为了参考,我创建了一个全新的项目,并在清理工作区后导入了所有库,但它仍然没有起作用(我还进入了工作区文件夹并删除了所有项目)。至于multidex问题,我研究了一下,如果那是问题的话,它似乎会告诉我完全不同的错误。这似乎源于谷歌播放服务的某种原因过于庞大。我将彻底删除我的SDK并重新安装它。完成后我会再联系你。 - David M
1
好的,谢谢!我现在搞定了。实际上,在删除我的sdk之前,我决定从硬盘中删除我的谷歌服务。我从我的工作场所删除了它,同时也在我的SDK管理器中删除了它。我再次重新安装它,现在它可以工作了。我不明白为什么第一次更新时它没有工作,但至少现在它可以工作了。感谢您的建议,我想当您遇到这种问题时最好彻底重置您的无法工作的文件。干杯! - David M
我很高兴你能解决问题,如果你对错误/问题的评论是正确的话。但有时一个小的“常见”的错误会生成一个日志,就像另一个非常常见的错误一样。例如eclipse.ini文件,尽管它已经被链接了,而且无论如何寻找都会找到相同的解决方案,但你仍然会问自己,“我做错了什么?”有时候这只是运气问题,可能需要1个小时或3天来修复。我IP.S:对我的英语表示抱歉。 - Angel Angel

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