当我下载Git项目OsmAnd并去编译它时, Eclipse返回以下错误:

[Dex Loader] Unable to execute dex: GC overhead limit exceeded
[OsmAnd]     Conversion to Dalvik format failed: 
             Unable to execute dex: GC overhead limit exceeded

谷歌和Stackoverflow说我必须在eclipse.ini中更改-Xms40m -Xmx384m。 转换为Dalvik格式失败:无法执行dex: Java堆空间。 我清理了项目并重新启动了Eclipse,但是没有帮助。

我发现这个链接:提示Android开发人员:“转换到Dalvik格式失败:无法执行dex: null” 但是我不知道从我的项目的哪个.jar中更改输入。 如果有人能帮忙,我可以把项目发给他们。


当前回答

经过12个小时的错误和没有成功改变eclipse.ini文件,我终于找到了正确的解决方案。在我的环境变量中,有一个名为“_JAVA_OPTIONS”的变量,其值为“-Xmx512M”。将这个值更改为与eclipse.ini (-Xmx4096M)中相同的值,我再次能够将项目导出到APK文件中。

其他回答

为了避免这个恼人的消息,我不得不改变我的配置如下:

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20120913-

144807
-product
com.android.ide.eclipse.adt.package.adtproduct
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
1024m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

根据标记为正确的答案,更改

-XX:MaxPermSize=256m
-Xms512m
-Xmx1024m

and:

--launcher.XXMaxPermSize
1024m
1) Open eclipse.ini file
2)change
-Xms40m
-Xmx512m
to 
-Xms512m
-Xmx1024m
3)Restart eclipse

相同的Eclipse .ini文件将位于Eclipse本身的根路径中,如下所示:

C:\Users\username\Downloads\adt-bundle-windows-x86_64-20140702\eclipse\eclipse.ini

相同的文件将位于android studio项目:-

C:\Users\username\AppData\Local\Android\sdk\tools\lib\monitor-x86_64\monitor(Type:Configuration settings)

我不知道这种变通方法背后的原因,但当以上所有方法都不起作用时,它对我来说总是有效的。

不要从捷径或链接启动eclipse。总是从eclipse文件夹中的eclipse.exe打开它,也就是保存eclipse.ini的文件夹

注意-我只尝试linux。

经过12个小时的错误和没有成功改变eclipse.ini文件,我终于找到了正确的解决方案。在我的环境变量中,有一个名为“_JAVA_OPTIONS”的变量,其值为“-Xmx512M”。将这个值更改为与eclipse.ini (-Xmx4096M)中相同的值,我再次能够将项目导出到APK文件中。

如果这些答案不管用(对我来说没用),那么试试这个:

1)复制工作空间中的.metadata文件夹。

2)拷贝完成后删除。metadata目录

3)打开Eclipse并关闭Eclipse。

4)将插件文件夹从旧的。metadata复制到新的。metadata

5)将所有项目导入工作区

6)保持冷静和代码!