[android-developers] Attempt to include a core VM class in something other than a core library
Hi, I'm building a reduced set of Tuscany modules to get a sample Tuscany application running on Android. However, building results in the error shown below. How can I pass the --core-library option to the compiler and would this be a solution? The problem is arising when processing class files from stax-api-1.0-2.jar. Any ideas or thoughts on how to finish the build successfully would be greatly appreciated. [2008-08-27 23:23:55 - calculator-android] trouble processing javax/xml/namespace/QName$1.class: [2008-08-27 23:23:55 - calculator-android] Attempt to include a core VM class in something other than a core library. It is likely that you have attempted to include the core library from a desktop virtual machine into an application, which will most assuredly not work. If you really intend to build a core library -- which is only appropriate as part of creating a full virtual machine binary, as opposed to compiling an application -- then use the --core-library option to suppress this error message. If you go ahead and use --core-library but are in fact building an application, then please be aware that your build will still fail at some point; you will simply be denied the pleasure of reading this helpful error message. [2008-08-27 23:23:55 - calculator-android] 1 error; aborting [2008-08-27 23:23:55 - calculator-android] Conversion to Dalvik format failed with error 1 -- best, -oscar Oscar Castañeda --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] Announcing the new Android 0.9 SDK beta! http://android-developers.blogspot.com/2008/08/announcing-beta-release-of-android-sdk.html For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: Conversion to Dalvik format failed with error 2
Hi Taras, I think you're right, but I find weird since I have retrotranslated all classes using the backport and target options. This is how I'm running retrotranslator now: $ java -jar ../Retrotranslator-1.2.6-bin/retrotranslator-transformer-1.2.6.jar -srcdir srcdir -backport java.rmi.Remote:java.lang.Cloneable -target 1.5 -reflection safe -stripannot -embed . -classpath ../Retrotranslator-1.2.6-bin/retrotranslator-android-1.2.6.jar -verbose Just to double check I rebuilt my workspace and ran retrotranslator again as shown above. I don't get any errors when running retrotranslator [1] [2] but still get the same errors when running the calculator-android project. Also, I checked the sizes of the translated classes and found that they are not becoming much bigger [3] [4]. Do you think I'm missing something? Thank you so much for all your help. [1] http://androidindelft.googlepages.com/tuscany_android_retr_output.txt [2] http://androidindelft.googlepages.com/tuscany_rev_retr_output.txt [3] http://androidindelft.googlepages.com/5Jul_retrotranslated.jpg [4] http://androidindelft.googlepages.com/5Jul_NOTtranslated.jpg On Thu, Jul 3, 2008 at 3:44 PM, Taras Puchko [EMAIL PROTECTED] wrote: Hi Oscar, It looks like Retrotranslator haven't translated the ConversationProcessor class if you see the following stack trace: java.lang.UnsupportedOperationException: native method not implemented at java.lang.Class.getDeclaredAnnotations(Native Method) at java.lang.Class.getAnnotations(Class.java:204) at java.lang.Class.getAnnotation(Class.java:187) at org.apache.tuscany.sca.implementation.java.introspect.impl.ConversationProcessor.visitClass(ConversationProcessor.java:49) Check the size of the translated class, it should become one third bigger. If you need backport-util-concurrent-3.1.jar you have probably run Retrotranslator without specifying -target 1.5. Always use -target 1.5 and -classpath retrotranslator-android-1.2.6.jar even if repeatedly translating classes. However I recommend to translate code in one pass. Cheers, Taras On Thu, Jul 3, 2008 at 3:45 PM, Oscar Castaneda [EMAIL PROTECTED] wrote: Hi Taras, Thanks for your help. I tried the -backport option on the previously retrotranslated classes and received some errors that were resolved by including backport-util-concurrent-3.1.jar. After that I was getting some errors related to getAnnotation [1] so I tried building all the projects from scratch and running retrotranslator again together with the -backport option. Now I'm getting UnsupportedOperationException errors [2]. Any advice you can give me will be greatly appreciated. [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/30Jun2008 [2] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/2Jul2008 On Thu, Jun 19, 2008 at 1:06 PM, Taras Puchko [EMAIL PROTECTED] wrote: I'm glad Retrotrotranslator works for you Oscar. If you just want to get rid of java.rmi.Remote you may replace it with java.lang.Cloneable using the folowing Retrotranslator option: -backport java.rmi.Remote:java.lang.Cloneable But in case you have some important code using the java.rmi package you may try to take sources of java.rmi from the Apache Harmony. Then move the sources into another package, so you'll have, for example, mypack.java.rmi, compile and jar them. After that you may use it with Retrotranslator: -backport mypack -classpath mypack.jar But this approach works only if the sources don't employ native code :) Cheers, Taras. On Wed, Jun 18, 2008 at 10:41 PM, Oscar Castaneda [EMAIL PROTECTED] wrote: Thanks again for all your help Taras. After following your suggestion and adding retrotranslator-android-1.2.6.jar as an external library (as opposed to an external _user_ library) the retrotranslator related errors disappeared. I'm now receiving errors about java.rmi.Remote [1], which from what I could find is not supported in Android. I just thought I'd mention it in case you have any suggestions :-) I will respond also on the Android Developer list as someone else might find this useful. By mistake I sent the email only to you which I think resulted in me being the only recipient of your response. Again, thanks for all your help. [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/18Jun2008 On Tue, Jun 17, 2008 at 11:05 PM, [EMAIL PROTECTED] wrote: I forgot to mention that you can use the embed option making inclusion of retrotranslator-android-1.2.6.jar into the compile path redundant. So you can add -embed a single dot or any package name: java -jar ../Retrotranslator-1.2.6-bin/retrotranslator-transformer-1.2.6.jar -srcdir ../workspace -target 1.5 -reflection safe -stripannot -embed . -classpath ../Retrotranslator-1.2.6-bin/retrotranslator-android-1.2.6.jar -verbose On 6/17/08, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Hi Oscar, Unfortunately I cannot open the TUSCANY wiki at the moment
[android-developers] Re: Conversion to Dalvik format failed with error 2
Hi Taras, Thanks for your help. I think your suggestions resolved the problem, even though I'm getting other errors now. By mistake I sent the email only to you which I think resulted in me being the only recipient of your response. I include your response and my follow-up below, as someone else might find this useful. Unfortunately I cannot open the TUSCANY wiki at the moment but it looks like the contents of retrotranslator-android-1.2.6.jar hasn't been included into the dex file. Try to explicitly refer to it in your code, for instance, call net.sf.retrotranslator.android.main.java.lang._Class.cast(String.class, test); And you needn't use the 1.4 target - only using the 1.5 one makes sense for Android. I forgot to mention that you can use the embed option making inclusion of retrotranslator-android-1.2.6.jar into the compile path redundant. So you can add -embed a single dot or any package name: java -jar ../Retrotranslator-1.2.6-bin/retrotranslator-transformer-1.2.6.jar -srcdir ../workspace -target 1.5 -reflection safe -stripannot -embed . -classpath ../Retrotranslator-1.2.6-bin/retrotranslator-android-1.2.6.jar -verbose After following your suggestion and adding retrotranslator-android-1.2.6.jar as an external library (as opposed to an external _user_ library) the retrotranslator related errors disappeared. I'm now receiving errors about java.rmi.Remote [1], which from what I could find is not supported in Android. I just thought I'd mention it in case you have any suggestions :-) On Tue, Jun 17, 2008 at 8:16 PM, Oscar Castaneda [EMAIL PROTECTED] wrote: Hi Taras, Thank you so much for the detailed response. I think you're right that when I run the Android project from Eclipse it both compiles the sources into classes and the classes into a dex file. I also agree that the most elegant way would be to add the translation step to the ADT plugin source code, thus enabling users to run Retrotranslator on the sources from within Eclipse. In some cases, such as mine, this is preferred over manually translating libraries that contain annotations and then adding them to the the main project (for instance, to simplify debugging). There is a workaround to prevent classes that have already been translated by Retrotranslator to be recompiled from source. The workaround is to disable the Java Builders from within each project's properties. I tried this and no longer receive the Annotation error: java.lang.Class.isAnnotationPresent(Class.java:1131) However, I'm getting the error shown below (and listed on the full stack trace in [1]). I took care to include retrotranslator-android-1.2.6.jar as an external library to all Tuscany projects, including calculator-android, as you pointed out. Additionally, I confirmed through the timestamps on class files and dex file that retrotranslated classes are not being recompiled and that the dex file was generated a few minutes after running retrotranslator. java.lang.NoClassDefFoundError: net.sf.retrotranslator.android.main.java.lang._Class I've tried this running retrotranslator as shown below, setting the target to java 1.5 at first and then to 1.4. $ java -jar /../Retrotranslator-1.2.6-bin/retrotranslator-transformer-1.2.6.jar -srcdir /../workspace -target 1.5 -reflection safe -stripannot -classpath /../Retrotranslator-1.2.6-bin/retrotranslator-android-1.2.6.jar -verbose What could be going wrong? Any suggestions would be greatly appreciated. [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/14Jun2008 On Wed, Jun 4, 2008 at 6:44 PM, Taras Puchko [EMAIL PROTECTED] wrote: Hi Oscar, Retrotranslator does it's job by modifying compiled classes in the following way: 1. Embedding into each class its metadata (including annotations) as one big character string. 2. Replacing some method invocations, so java.lang.Class.isAnnotationPresent is being replaced with net.sf.retrotranslator.android.main.java.lang.Class.isAnnotationPresent etc. So when you call getAnnotations() on a particular class the code from retrotranslator-android-1.2.6.jar will parse the corresponding metadata and return the result. AFAIK when you run your Android project from Eclipse it both compiles your sources into classes and the classes into a dex file. So Retrotranslator has no chance to modify classes in between unless you fix the ADT plugin. The workaround is not to put your sources into Eclipse and to process it with javac, Retrotranslator and jar manually. After that you may add the jar to Eclipse. If you execute the following line you should obtain mytuscany-android.jar that is one-third bigger then the original mytuscany.jar and does not contain references to Java 5 reflection methods. java -jar retrotranslator-transformer-1.2.6.jar -srcjar mytuscany.jar -destjar mytuscany-android.jar -target 1.5 -reflection safe -stripannot -classpath retrotranslator-android-1.2.6.jar So the line
[android-developers] Re: Working on another Android story
Hi, Tomorrow I'm officially starting a Google Summer of Code project [1] related to Android. It's about making Apache Tuscany run on Android. Even though GSoC work is considered to be around 20 hours per week, I will most likely spend many more hours on it until I'm done. If you need more info on the project I'd be happy to help. I'm also doing an elevator pitch about it tomorrow [2]. [1] http://code.google.com/soc/2008/asf/appinfo.html?csaid=5FE987C0268271DE [2] http://androidindelft.googlepages.com/ On Thu, May 22, 2008 at 6:10 PM, Vasanth Sridharan [EMAIL PROTECTED] wrote: Hey All, Thanks for all your responses so far, they've definitely helped with my stories. I'm working on another one about the cost to develop these applications. Obviously cost is a tough thing to nail down, but if you could figure out based on number of hours spent and salary or however makes sense for your specific application, that would be great. Thanks, Vasanth Sridharan Reporter Silicon Alley Insider C: (408) 455-2254 http://www.alleyinsider.com http://www.vasanthsridharan.com -- best, -oscar Oscar Castañeda --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] Announcing the new M5 SDK! http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---
[android-developers] Re: SDK Update?
I agree. However, it would be really helpful to have an updated SDK, even for first impressions. I just hope soon will be sooner. On Sat, May 10, 2008 at 6:57 PM, caliente [EMAIL PROTECTED] wrote: Huh? Is this a fair comparison? Android is a preview release, not a shipped product. I wouldn't care about another SDK update until the product is open sourced where updates will be orders of magnitudes greater. The current SDK and the ADC are enough incentives for experimenting and establishing a base on the forthcoming Android market place. Let the OHA teams concentrate on the initial shipped product--first impression is of utmost importance. On May 9, 6:55 pm, Evan JIANG [EMAIL PROTECTED] wrote: Good question. In the same time, Apple had released 5 updates of iphone sdk. On Sat, May 10, 2008 at 9:23 AM, Gil [EMAIL PROTECTED] wrote: It's been more than two months since the release of m5-rc15. Can anyone from Google give us an update on the next SDK release schedule? -- best, -oscar Oscar Castañeda --~--~-~--~~~---~--~~ You received this message because you are subscribed to the Google Groups Android Developers group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] Announcing the new M5 SDK! http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~--~~~~--~~--~--~---