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]