Good idea Luciano : ) What we should copy to this branch? SCA modules and calculator sample? I think it's enough to start experiment SCA on Android
I sent a msg to Android Developers list, lets wait for the response : ) Regards, Adriano Crestani On Fri, Mar 14, 2008 at 7:11 PM, Luciano Resende <[EMAIL PROTECTED]> wrote: > 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://people.apache.org/%7Elresende> > http://lresende.blogspot.com/ > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >