我尝试使用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
其他错误
[错误]:无法运行dexer: [错误]:
[错误]:意外的顶级错误: [错误]:java.lang.OutOfMemoryError:Java堆空间 [错误]:在java.util.Arrays.copyOf(Arrays.java:2271) [错误]:在java.io.ByteArrayOutputStream.toByteArray(ByteArrayOutputStream.java:191) [错误]:在com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:279) [错误]:在com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) [错误]:在com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) [错误]:在com.android.dx.command.dexer.Main.processOne(Main.java:672) [错误]:在com.android.dx.command.dexer.Main.processAllFiles(Main.java:574) [错误]:在com.android.dx.command.dexer.Main.runMonoDex(Main.java:311) [错误]:在com.android.dx.command.dexer.Main.run(Main.java:277) [错误]:在com.android.dx.command.dexer.Main.main(Main.java:245) [错误]:在com.android.dx.command.Main.main(Main.java:106)
你好, 我从链接获得解决方案,代码是:
<property name="android.javac.maxmemory" type="string">1024M</property> <property name="android.dx.maxmemory" type="string">2048M</property>
由于
答案 0 :(得分:0)
你在代码中做错了什么。设置较大的maxmemory
或较大的堆大小不是正确的修复方法。此类解决方案不适用于所有设备和Android版本。您正在请求更多内存,但没有任何内容需要操作系统将其授予您的应用。
你有一个memory leak或者你只是不必要地使用内存以低效的方式创建对象。重新检查应用程序的结构以优化它,而不是使用清单设置对其进行创可。
答案 1 :(得分:0)
在为Android构建时,Appcelerator无法处理太多的javascript文件。
我有128个控制器&amp; 188次查看文件。我删除了所有未使用的文件现在我有35个控制器&amp; 56个视图文件,这个在android上成功构建。