Good summary Adriano, I haven't had success yet trying to run
Calculator sample application on the Android environment. Below are
some issues I noted
- Looks like our calculator sample dependency has grown out of
control, and is now requiring node, databinding, axiom, etc
- The service locator pattern we use for our extension mechanism is
not working correct in Android environment causing various NPE
- etc
What do you think if create a branch to experiment and try to work on
these issues together ?
On Fri, Mar 14, 2008 at 2:13 PM, Adriano Crestani
<[EMAIL PROTECTED]> wrote:
> Hi,
>
> Luciano and me have been trying to run the SCA calculator sample on the
> Google Android platform, that is a platform for mobile devices. As the
> Android platform apps are written in Java language, we tried to run the Java
> SCA calculator sample on it.
>
> Although the apps for Android are coded in Java, it's only coded in Java
> language. When it's compiled, it generates not .class files, but a file
> called .dex, that is equivalent to .jar files. The .dex files are not
> compound of Java standard bytecode, but a special bytecode that is intended
> to run only on Android VM: Dalvik.
>
> So, in our first try to compile the calculator sample, only importing the
> needed SCA jars were not successful, because the SCA jars are compiled using
> JDK compiler and do not have the Android special bytecode format.
>
> Fortunately, when you import the SCA jars into an eclipse Android project,
> it automatically tries to convert the JDK bytecode to Android bytecode
> before execute it. But something was not going correctly yet, cause when it
> tries to execute the service I get this exception:
>
> Application Error: com.android.hello An error in com.android.hello. Unnable
> to start activity
> ComponentInfo{com.android.hello/com.android.hello.HelloAndroid]:
> org.osoa.sca.ServiceRuntimeException: java.lang.NullPointerException.
>
> I wasn't sure about what was happening, and then I tried another approach:
> not import the SCA jars, but place the SCA source code needed by the
> calculator sample into the Android app src folder. This way the SCA would be
> compiled directly to Android bytecode.
>
> Unfortunately, the Android is not Java and does not have the entire set of
> classes that J2SE provides. It provides only some java classes as
> java.langand
> java.util classes which Android developers kept with the same package/class
> names and method signature for easy portability of Java app codes. So, the
> common Java classes used on Java SCA were compatible. But, the Java SCA uses
> a lot the javax.xml package and Android implements only part of this package
> on its platform, so I was getting a lot of errors because the missing
> classes that should be contained in this package. I solved it downloading
> the StAX source code and JDK javax.xml API source code, and placing it
> directly on my Android app project. Finally I got it compiled.
>
> Then, I got another error. I found out that the Android compiler fist
> compile the Java code to .class files and then compile the .class files to a
> .dex file. The first process everything goes fine, meaning the package
> dependencies and code syntax are OK. But on the second process, when it
> tries convert the .class files to .dex, I get 4 warnings and 1 error that
> are lightly described:
>
> *[2008-03-14 14:25:27 - HelloAndroid]
> trouble processing:
> [2008-03-14 14:25:27 - HelloAndroid] truncated annotation attribute
> ...while parsing RuntimeVisibleAnnotations attribute at offset 00000175
> ...while parsing attributes[1]
> ...while parsing javax/xml/bind/annotation/XmlNs.class
> ...while processing javax/xml/bind/annotation/XmlNs.class
> [2008-03-14 14:25:27 - HelloAndroid]
> trouble processing:
> [2008-03-14 14:25:27 - HelloAndroid] truncated annotation attribute
> ...while parsing AnnotationDefault attribute at offset 000002b8
> ...while parsing attributes[0]
> ...while parsing methods[0]
> ...while parsing javax/xml/bind/annotation/XmlSchema.class
> ...while processing javax/xml/bind/annotation/XmlSchema.class
> [2008-03-14 14:25:28 - HelloAndroid]
> trouble processing:
> [2008-03-14 14:25:28 - HelloAndroid] truncated annotation attribute
> ...while parsing AnnotationDefault attribute at offset 00000204
> ...while parsing attributes[0]
> ...while parsing methods[2]
> ...while parsing javax/xml/ws/Action.class
> ...while processing javax/xml/ws/Action.class
> [2008-03-14 14:25:29 - HelloAndroid]
> trouble processing:
> [2008-03-14 14:25:29 - HelloAndroid] truncated annotation attribute
> ...while parsing AnnotationDefault attribute at offset 0000020b
> ...while parsing attributes[1]
> ...while parsing methods[0]
> ...while parsing org/osoa/sca/annotations/Service.class
> ...while processing org/osoa/sca/annotations/Service.class
> [2008-03-14 14:25:30 - HelloAndroid] 4 warnings
> [2008-03-14 14:25:30 - HelloAndroid]
> trouble writing output: not found
> [2008-03-14 14:25:30 - HelloAndroid] Conversion to Dalvik format failed with
> error 2
>
> *
> So, I got nothing running so far : ( . Is there anyone with some Android
> knowledge that could help us with it?
>
> I will probably send this doubts to Android community and see if they can
> help us : )
>
> Thanks in advance ; )
>
> Adriano Crestani
>
--
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]