You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Bryan Pendleton (JIRA)" <ji...@apache.org> on 2010/01/09 00:38:54 UTC

[jira] Commented: (DERBY-4458) Dalvik / Andoid compatibility

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

Bryan Pendleton commented on DERBY-4458:
----------------------------------------

I tried doing something similar, but different, which was to use the derbyclient.jar library in an Android application.

I made some progress, but am having trouble because Derby's ClientBaseDataSource class implements
javax.naming.Referenceable from the JNDI API, and Android apparently does not support javax.naming.*

The error I get is:

I/dalvikvm(  348): Failed resolving Lorg/apache/derby/jdbc/ClientBaseDataSource; interface 212 'Ljavax/naming/Referenceable;'

Sure enough, javax.naming is *not* in the list of supported packages at
http://developer.android.com/reference/packages.html


> Dalvik / Andoid compatibility
> -----------------------------
>
>                 Key: DERBY-4458
>                 URL: https://issues.apache.org/jira/browse/DERBY-4458
>             Project: Derby
>          Issue Type: Improvement
>    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
>
> 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.