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

And*_*aya 79 java eclipse android

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

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

有任何想法吗?

Joh*_*ada 209

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

  1. 您的构建完成.
  2. Eclipse将无法重新启动,因为您没有足够的内存.

eclipse.ini位于/etc/eclipse.iniUbuntu(假设您从Ubuntu存储库安装了Eclipse).

对于MAC,请参阅:

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

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

  • [本页](http://wiki.eclipse.org/Eclipse.ini#-vm_value:_Mac_OS_X_Example)描述了如何在mac上找到eclipse.ini. (8认同)
  • 在Windows中它与"eclipse.exe"并排放置,无论你放在哪里. (7认同)

Mih*_*hah 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.
Run Code Online (Sandbox Code Playgroud)

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

  • 从"Order and Export"取消选中库会导致从代码访问该库中的类时抛出"ClassNotFoundException".应该导出库. (5认同)