Skip to main content

Running Android Applications without a Virtual Machine

  • Conference paper
Mobile Wireless Middleware, Operating Systems, and Applications (MOBILWARE 2011)

Abstract

Android has gained significant popularity in the smartphone market since its introduction in 2007. While Android applications are written in Java, Android uses its own virtual machine called Dalvik. Other smartphone platforms, most notably Appleā€™s iOS, do not permit the installation of any kind of virtual machine. 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 portable C code. With this approach it is not necessary to have a Dalvik virtual machine deployed on the target platform. We describe different aspects of our cross-compiler, from byte code level cross-compilation, memory management, to API mapping. A prototype of our cross-compiler called XMLVM is available under an Open Source license.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Boehm, H.: Bounding space usage of conservative garbage collectors. SIGPLAN NoticesĀ 37(1), 93ā€“100 (2002)

    ArticleĀ  Google ScholarĀ 

  2. Dahm, M.: Byte code engineering. Java Informations Tage, 267ā€“277 (1999)

    Google ScholarĀ 

  3. 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)

    ChapterĀ  Google ScholarĀ 

  4. Dixon, R., McKee, T., Vaughan, M., Schweizer, P.: A fast method dispatcher for compiled languages with multiple inheritance. SIGPLAN NoticesĀ 24, 211ā€“214 (1989)

    ArticleĀ  Google ScholarĀ 

  5. Google, Inc. The Dalvik virtual machine, http://en.wikipedia.org/wiki/Dalvik_virtual_machine

  6. JDOM. Java DOM-API (2004), http://www.jdom.org/

  7. Kay, M.: Saxon: The XSLT and XQuery Processor, http://saxon.sourceforge.net/

  8. Lindholm, T., Yellin, F.: The Java Virtual Machine Specification, 2nd edn. Addison-Wesley Pub. Co. (April 1999)

    Google ScholarĀ 

  9. Puder, A.: A Cross-Language Framework for Developing AJAX Applications. In: PPPJ. International Proceedings Series. ACM, Lisboa (2007)

    Google ScholarĀ 

  10. Puder, A.: Cross-Compiling Android Applications to the iPhone. In: PPPJ. International Proceedings Series. ACM, Vienna (2010)

    Google ScholarĀ 

  11. Shi, Y., Casey, K., Ertl, M.A., Gregg, D.: Virtual machine show- down: Stack versus registers. ACM Trans. Archit. Code Optim.Ā 4(4), 1ā€“36 (2008)

    ArticleĀ  Google ScholarĀ 

  12. W3C. XSL Transformations (1999), http://www.w3.org/TR/xslt

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

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

About this paper

Cite this paper

Puder, A. (2012). Running Android Applications without a Virtual Machine. In: Venkatasubramanian, N., Getov, V., Steglich, S. (eds) Mobile Wireless Middleware, Operating Systems, and Applications. MOBILWARE 2011. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 93. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30607-5_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30607-5_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30606-8

  • Online ISBN: 978-3-642-30607-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics