db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chetan Narsude (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-4458) Dalvik / Andoid compatibility
Date Sat, 17 Sep 2011 01:26:09 GMT

    [ https://issues.apache.org/jira/browse/DERBY-4458?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13106989#comment-13106989
] 

Chetan Narsude commented on DERBY-4458:
---------------------------------------

Is that all that is there to it? I wonder then why the target is enforced in the build.xml
files by mentioning target="1.4" to javac? Wouldn't it be sufficient to leave target out from
the source distribution and release derby binaries with annotation of the target for which
the binary is released?

Seeing 1.4 target made me wonder that there is version specific code that would not compile/run
without that version. I am trying to use the derbyclient.jar recompiled by removing "1.4"
references from build.xml, and using 1.6 compiler on Android phone. Before I go too deep into
it, I just want to make sure that I am not overlooking something which may haunt me later.

-- Thanks.

> 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 is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

Mime
View raw message