编译Appcelerator Android app时如何解决java.lang.OutOfMemoryError?

How to solve java.lang.OutOfMemoryError when compiling Appcelerator Android app?

我尝试使用 Appcelerator 编译 apk,但出现此错误。如何解决。

目前我正在使用 Titanium sdk:5.2.0.GA

    >Error:
    >ERROR :  Failed to run dexer:
    >ERROR :  UNEXPECTED TOP-LEVEL ERROR:
    >ERROR :  java.lang.OutOfMemoryError: Java heap space

其他错误

[ERROR] : Failed to run dexer: [ERROR] :
[ERROR] : UNEXPECTED TOP-LEVEL ERROR: [ERROR] : java.lang.OutOfMemoryError: Java heap space [ERROR] : at java.util.Arrays.copyOf(Arrays.java:2271) [ERROR] : at java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:191) [ERROR] : at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:279) [ERROR] : at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) [ERROR] : at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) [ERROR] : at com.android.dx.command.dexer.Main.processOne(Main.java:672) [ERROR] : at com.android.dx.command.dexer.Main.processAllFiles(Main.java:574) [ERROR] : at com.android.dx.command.dexer.Main.runMonoDex(Main.java:311) [ERROR] : at com.android.dx.command.dexer.Main.run(Main.java:277) [ERROR] : at com.android.dx.command.dexer.Main.main(Main.java:245) [ERROR] : at com.android.dx.command.Main.main(Main.java:106)

大家好, 我从 link 得到解决方案,代码是:

   <property name="android.javac.maxmemory" type="string">1024M</property>
   <property name="android.dx.maxmemory" type="string">2048M</property>

谢谢

您的代码有问题。并且设置更大的 maxmemory 或较大的堆大小不是正确的解决方法。此类解决方案不适用于所有设备和 Android 版本。您正在 请求 更多内存,但没有什么需要 OS 将其授予您的应用程序。

您有一个 memory leak 或者您只是不必要地使用内存以低效的方式创建对象。重新检查您的应用程序的结构以对其进行优化,而不是使用清单设置对其进行创可贴。

在为 android 构建时,Appcelerator 无法处理太多 javascript 文件。

我有 128 个控制器和 188 个视图文件。我删除了所有未使用的文件。现在我有 35 个控制器和 56 个视图文件,这在 android.

上成功构建