转换为Dalvik格式失败:无法执行dex:Java堆空间

我已经添加了2.45mb的 jar文件到我的Android eclipse项目,现在我继续得到“转换为Dalvik格式失败:无法执行dex:Java堆空间”,无论我做什么。

我在网上进行了研究,并被告知更新我的eclipse.ini来增加我的Java VM heapsizes。 我已经完成了这个eclipse.ini中的所有值,我继续得到构build错误。

有任何想法吗?

修改eclipse.ini-XmsAm-XmxBm参数,使它们足够大。 默认值是-Xms40m -Xmx384m 。 尝试将它们都更改为-Xms512m -Xmx512m并重新启动eclipse,看看是否有帮助。 如果不是,继续增加值并重新启动eclipse,直到发生以下两件事之一:

  1. 你的构build完成。
  2. Eclipse将不会重新启动,因为您没有足够的内存。

eclipse.ini位于Ubuntu的/etc/eclipse.ini中(假设你从Ubuntu软件库安装了Eclipse)。

对于MAC请参阅:

寻找eclipse.ini有点棘手。 要find它,右键单击Eclipse应用程序图标并select“Show Package Contents”,然后双击“Contents”文件夹,然后双击eclipse.ini所在的“MacOS”文件夹

https://confluence.sakaiproject.org/pages/viewpage.action?pageId=61341742

有时在项目属性中检查.jar库也会导致这个问题。 在这种情况下,请尝试以下操作:

 Right click your project. Go to Properties -> Java Build Path -> Order and Export. Uncheck the check box against your included library. Press OK and run the project. 

在这样做的时候,Eclipse将只从代码中获取所需的类,而不是从jar中存储所有的类。

以上所有答案都是完美的,但是您可以尝试更多的事情,而且这很快捷,在Eclipse工作区中closures所有不必要的打开的项目,然后重新启动Eclipse。

您也可以增加eclipse.ini中的-XmsAm和-XmxBm参数。

转到您的项目属性,并从Java Build Path中删除已添加的库,然后重新添加它们。 我也面临这个问题。通过这样做,我解决了这个问题。

重要的补充:

该解决scheme没有在我的Windows上工作(可能是内存分配问题),但在同一台机器上的Linux上performance良好。 因此,安装另一个操作系统将帮助您或Windows重新安装。