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

时间:2011-05-09 23:51:40

标签: java android eclipse

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

我已经在线研究过,并被告知要更新我的eclipse.ini以增加我的Java VM堆积。我已经为eclipse.ini中的所有值完成了这个操作,并且我继续得到构建错误。

有什么想法吗?

5 个答案:

答案 0 :(得分:209)

修改-XmsAm中的-XmxBmeclipse.ini参数,以便它们足够大。默认值为-Xms40m -Xmx384m。尝试将它们更改为-Xms512m -Xmx512m并重新启动eclipse以查看是否有帮助。如果没有,继续增加值并重新启动eclipse,直到发生以下两种情况之一:

  1. 您的构建完成。
  2. Eclipse因为内存不足而无法重启。
  3. eclipse.ini位于Ubuntu的/etc/eclipse.ini(假设您从Ubuntu存储库安装了Eclipse)。

    对于MAC,请参阅:

      

    找到eclipse.ini有点棘手。要找到它,右键单击Eclipse Application图标并选择“Show Package Contents”,然后双击“Contents”文件夹,然后双击“MacOS”文件夹,eclipse.ini的主页

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

答案 1 :(得分:20)

有时检查项目属性中的.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中获取代码中所需的类,而不是存储jar中的所有类。

答案 2 :(得分:0)

以上所有答案都很完美,但你可以再试一次,这很快捷, 关闭Eclipse工作区中所有不必要的打开项目,然后重新启动Eclipse。

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

答案 3 :(得分:0)

转到项目属性并从Java Build Path中删除添加的库命中,确定, 然后再次添加它们。我也遇到了这个问题。通过这样做,我解决了这个问题。

答案 4 :(得分:-1)

重要补充:

该解决方案不能在我的Windows上运行(可能是内存分配问题),但在同一台机器上的Linux上运行良好。因此,安装另一个操作系统可以帮助您重新安装Windows。