Advertisement

Abstract

Android is currently leading the smartphone segment in terms of market share since its introduction in 2007. Android applications are written in Java using an API designed for mobile apps. Other smartphone platforms, such as Apple’s iOS or Microsoft’s Windows Phone 7, differ greatly in their native application programming model. App developers who want to publish their applications for different platforms are required to re-implement the application using the respective native SDK. In this paper we describe a cross-compilation approach, whereby Android applications are cross-compiled to C# for Windows Phone 7. We describe different aspects of our cross-compiler, from byte code level cross-compilation to API mapping. A prototype of our cross-compiler called XMLVM is available under an Open Source license.

Keywords

Android WP7 Cross-Compilation 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    The Android Open Source Project. Dalvik eXchange (DX), git://android.git.kernel.org/platform/dalvik.gitGoogle Scholar
  2. 2.
    Davis, B., Beatty, A., Casey, K., Gregg, D., Waldron, J.: The case for virtual register machines. In: IVME 2003: Proceedings of the 2003 Workshop on Interpreters, Virtual Machines and Emulators, pp. 41–49. ACM, New York (2003)CrossRefGoogle Scholar
  3. 3.
    ECMA. C# Language Specification, 4th edn. (June 2006)Google Scholar
  4. 4.
    ECMA. Common Language Infrastructure (CLI), 4th edn. (June 2006)Google Scholar
  5. 5.
    El-Ramly, M., Eltayeb, R., Alla, H.A.: An Experiment in Automatic Conversion of Legacy Java Programs to C#. In: ACS/IEEE International Conference on Computer Systems and Applications, pp. 1037–1045 (2006)Google Scholar
  6. 6.
    JDOM. Java DOM-API (2004), http://www.jdom.org/
  7. 7.
    Kay, M.: Saxon: The XSLT and XQuery Processor, http://saxon.sourceforge.net/
  8. 8.
    Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley Pub. Co. (April 1999)Google Scholar
  9. 9.
    Puder, A.: Cross-Compiling Android Applications to the iPhone. In: PPPJ, Vienna, Austria. International Proceedings Series. ACM (2010)Google Scholar
  10. 10.
    Puder, A., Lee, J.: Towards an XML-based Byte Code Level Transformation Framework. In: 4th International Workshop on Bytecode Semantics, Verification, Analysis and Transformation. Elsevier, York, UK (2009)Google Scholar
  11. 11.
    Shi, Y., Casey, K., Anton Ertl, M., Gregg, D.: Virtual machine showdown: Stack versus registers. ACM Trans. Archit. Code Optim. 4(4), 1–36 (2008)CrossRefGoogle Scholar
  12. 12.
    Ungar, D., Spitz, A., Ausch, A.: Constructing a metacircular Virtual machine in an exploratory programming environment. In: Companion to the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications, OOPSLA, pp. 11–20. ACM, New York (2005)CrossRefGoogle Scholar
  13. 13.
    W3C. XSL Transformation (1999), http://www.w3.org/TR/xslt

Copyright information

© ICST Institute for Computer Science, Social Informatics and Telecommunications Engineering 2012

Authors and Affiliations

  • Oren Antebi
    • 1
  • Markus Neubrand
    • 1
  • Arno Puder
    • 1
  1. 1.Department of Computer ScienceSan Francisco State UniversitySan FranciscoUSA

Personalised recommendations