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]

Reply via email to