[ https://issues.apache.org/jira/browse/DERBY-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14954114#comment-14954114 ]
Rick Hillegas commented on DERBY-4458: -------------------------------------- Thanks for voting for the issue. > Dalvik / Andoid compatibility > ----------------------------- > > Key: DERBY-4458 > URL: https://issues.apache.org/jira/browse/DERBY-4458 > Project: Derby > Issue Type: Improvement > Components: Miscellaneous > Affects Versions: 10.5.3.0 > Environment: dx 1.2 (from the Android SDK 2.0) running on Java 1.6 > Reporter: Thomas Görres > > derby.jar cannot be used on mobile devices running the Android OS. Android > uses Dalvik as runtime environment, and the classfiles from derby.jar cannot > be translated to Dalvik byte code. > Steps to repeat: > 1. get the Android SDK from http://developer.android.com > 2. navigate to [android-sdk]/platforms/android-1.5/tools > 3. execute ./dx --dex path/to/derby.jar > The dx tool should convert the JRE byte code to Dalvik byte code. Instead, it > spits out this warning several time: > warning: Ignoring InnerClasses attribute for an anonymous inner class that > doesn't come with an associated EnclosingMethod attribute. (This class was > probably produced by a broken compiler.) > Then it runs out of memory: > java.lang.OutOfMemoryError: Java heap space > at > com.android.dx.rop.code.ThrowingInsn.withNewRegisters(ThrowingInsn.java:116) > at com.android.dx.ssa.NormalSsaInsn.toRopInsn(NormalSsaInsn.java:122) > at com.android.dx.ssa.back.SsaToRop.convertInsns(SsaToRop.java:386) > at com.android.dx.ssa.back.SsaToRop.convertBasicBlock(SsaToRop.java:365) > at > com.android.dx.ssa.back.SsaToRop.convertBasicBlocks(SsaToRop.java:300) > at com.android.dx.ssa.back.SsaToRop.convertToRop(SsaToRop.java:277) > at com.android.dx.ssa.back.SsaToRop.convert(SsaToRop.java:118) > at com.android.dx.ssa.back.SsaToRop.convertToRopMethod(SsaToRop.java:71) > at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:103) > at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:74) > at > com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:269) > at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:131) > at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:85) > at com.android.dx.command.dexer.Main.processClass(Main.java:297) > at com.android.dx.command.dexer.Main.processFileBytes(Main.java:276) > at com.android.dx.command.dexer.Main.access$100(Main.java:56) > at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:228) > at > com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245) > at > com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:130) > at > com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:108) > at com.android.dx.command.dexer.Main.processOne(Main.java:245) > at com.android.dx.command.dexer.Main.processAllFiles(Main.java:183) > at com.android.dx.command.dexer.Main.run(Main.java:139) > at com.android.dx.command.dexer.Main.main(Main.java:120) > at com.android.dx.command.Main.main(Main.java:87) -- This message was sent by Atlassian JIRA (v6.3.4#6332)