【问题标题】:Unable to execute dex because of java heap space in eclipse with a tiny android application由于 Eclipse 中的 Java 堆空间,无法执行 dex
【发布时间】:2013-05-07 06:09:30
【问题描述】:

我有一个 android 应用程序,它只有一个 4 mb 大小的 jar 导入 (Symja https://code.google.com/p/symja/) 从字面上看,项目中唯一的代码是创建一个新的 textview 并将其设置为内容视图。但我收到了错误:

Conversion to Dalvik format failed: Unable to execute dex: Java heap space
Unable to execute dex: Java heap space

我有另一个更大的 android 项目,将近 20,000 行代码,它可以在几秒钟内运行。我的 eclipse.ini 有以下设置:

-Dosgi.requiredJavaVersion=1.5
-XX:MaxPermSize=512m
-Xms512m
-Xmx1024m

我不知道为什么我不能运行这个项目。因此,非常感谢任何建议!

谢谢。

【问题讨论】:

    标签: android eclipse heap-memory dex


    【解决方案1】:

    尝试以下方法:

    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 中的所有类。

    【讨论】:

    • 是的,没错,我收到 Java 堆错误,当我取消选中所有库时,它会执行但应用程序在设备上崩溃,请帮助我..
    【解决方案2】:

    我读到,symja 库需要 Java 1.6 版。但是您的 Eclipse 使用 Java 1.5。也许,这是个问题。

    【讨论】:

      【解决方案3】:

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

      您的构建完成。 Eclipse 不会重新启动,因为您没有足够的内存。 eclipse.ini 位于 Ubuntu 中的 /etc/eclipse.ini(假设您从 Ubuntu 存储库安装了 Eclipse)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-01-23
        • 1970-01-01
        • 2014-11-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多