On Android: java.lang.OutOfMemoryError: Java heap space
Issue #29
resolved
I had an earlier version of symja used in one of my android applications. and it works fine. the one of symja-2014-01-19.jar gives me this error no matter i increase the memory size for the compiler's sake.
The error:
[dex] Pre-Dexing /home/oracle/eclipse-workspace/GeneralEngineeringPaid3/libs/symja-2014-01-19.jar -> symja-2014-01-19-eb0b0a9bc2f8a1ea51f318700fda8898.jar
[dx]
[dx] UNEXPECTED TOP-LEVEL ERROR:
[dx] java.lang.OutOfMemoryError: Java heap space
[dx] at java.util.BitSet.initWords(BitSet.java:144)
[dx] at java.util.BitSet.<init>(BitSet.java:139)
[dx] at com.android.dx.ssa.SsaMethod.bitSetFromLabelList(SsaMethod.java:137)
[dx] at com.android.dx.ssa.SsaBasicBlock.newFromRop(SsaBasicBlock.java:157)
[dx] at com.android.dx.ssa.SsaMethod.convertRopToSsaBlocks(SsaMethod.java:173)
[dx] at com.android.dx.ssa.SsaMethod.newFromRopMethod(SsaMethod.java:103)
[dx] at com.android.dx.ssa.SsaConverter.convertToSsaMethod(SsaConverter.java:44)
[dx] at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:98)
[dx] at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72)
[dx] at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:299)
[dx] at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139)
[dx] at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94)
[dx] at com.android.dx.command.dexer.Main.processClass(Main.java:682)
[dx] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
[dx] at com.android.dx.command.dexer.Main.access$600(Main.java:78)
[dx] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
[dx] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
[dx] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
[dx] at com.android.dx.command.dexer.Main.processOne(Main.java:596)
[dx] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
[dx] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
[dx] at com.android.dx.command.dexer.Main.run(Main.java:230)
[dx] at com.android.dx.command.dexer.Main.main(Main.java:199)
[dx] at com.android.dx.command.Main.main(Main.java:103)
Comments (5)
-
repo owner -
I copied it verbatim. It did not work. I and I have 4GB of RAM and Intel i7 CPU.
-
repo owner With the ANT script
/symja_android_library/build.xml
you can compress the library with proguard and use the created JAR
symja_android_library\symja_android_library\build\jar\symja-mini-2014-xx-xx.jar
Problem is that at the moment some method names are obfuscated by this script.
-
repo owner -
assigned issue to
- marked as task
- marked as minor
-
assigned issue to
-
repo owner - changed status to resolved
- Log in to comment
I'm using these settings. Could you please try if it works for you?
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Dhelp.lucene.tokenizer=standard
-Xms256m
-Xmx1024m