Uploaded image for project: 'Derby'
  1. Derby
  2. DERBY-4458

Dalvik / Andoid compatibility

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 10.5.3.0
    • None
    • Miscellaneous
    • None
    • dx 1.2 (from the Android SDK 2.0) running on Java 1.6

    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)

      Attachments

        Activity

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            gnunha Thomas Görres

            Dates

              Created:
              Updated:

              Slack

                Issue deployment