Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Info
titleFollow-up to Android Developers

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:

Code Block
$ 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

Info
titleReply from Android Developers

Hi Oscar,

The command line looks OK, but the embed option cannot be used there
since your srcdir does not point to the root package of your classes.
So don't use this option but add retrotranslator-android-1.2.6.jar to
your project instead. If the problem persists point srcdir exectly to
the root package (e.g. -srcdir
tuscany_android/mobile-android/calculator-android/bin)

BTW, the size of your classes must change significantly. I have
translated QName.class from Xalan-J and its size increased from 2827
to 4083 bytes.

Regards,
Taras

Info
titleFollow-up to Android Developers

Hi Taras,

I was missing the point on the embed option. Thanks for the tip!

Today, I tested the newest version of retrotranslator (1.2.7) and did not get the RMI errors as before or the getAnnotation errors that indicated code wasn't being retrotranslated (appropriately). Instead I got a NoClassDefFoundError for java.beans.Introspector. I worked around this issue by commenting out the java.beans.Introspector import and related code. I am now getting NoClassDefFoundError on javax.jws.WebService 1.

I found that this class is not included in the Android package list and was wondering if maybe you had any suggestions. Is this something that could be backported as well?

Thank you very much for all your suggestions, they've been really helpful!

PS. I checked out the class sizes and found that classes that rely heavily on annotations are increasing 1/3 in size (from 8k to 12k for example), as you adviced.

1 http://cwiki.apache.org/confluence/display/TUSCANYWIKI/7Jul2008+-+Error+Stack+traceImage Added

best,
-oscar