Hi Thomas, This is a separate issue but last I heard about Dalvik is that there is still no support for dynamic bytecode translation at runtime - Derby generates bytecode dynamically for every new SQL statement, so I doubt you might be able to get Derby running on Android until dynamic bytecode translation is available in the Dalvik VM at runtime
Cheers, --Francois 2009/12/1 Thomas Görres (JIRA) <[email protected]> > > [ > https://issues.apache.org/jira/browse/DERBY-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel] > > Thomas Görres updated DERBY-4458: > --------------------------------- > > Description: > 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) > > Priority: Blocker (was: Major) > Issue & fix info: [High Value Fix, Newcomer] > Environment: dx 1.2 (from the Android SDK 2.0) running on Java > 1.6 > Affects Version/s: 10.5.3.0 > Bug behavior facts: [Crash] > Remaining Estimate: 96h > Original Estimate: 96h > Summary: Dalvik / Andoid compatibility (was: Dalvik > compatibility) > > > Dalvik / Andoid compatibility > > ----------------------------- > > > > Key: DERBY-4458 > > URL: https://issues.apache.org/jira/browse/DERBY-4458 > > Project: Derby > > Issue Type: Task > > 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 > > Priority: Blocker > > Original Estimate: 96h > > Remaining Estimate: 96h > > > > 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 is automatically generated by JIRA. > - > You can reply to this email to add a comment to the issue online. > >
