Mobile Wireless Middleware, Operating Systems, and Applications. 4th International ICST Conference, Mobilware 2011, London, UK, June 22-24, 2011, Revised Selected Papers

Research Article

Running Android Applications without a Virtual Machine

Download
462 downloads
  • @INPROCEEDINGS{10.1007/978-3-642-30607-5_12,
        author={Arno Puder},
        title={Running Android Applications without a Virtual Machine},
        proceedings={Mobile Wireless Middleware, Operating Systems, and Applications. 4th International ICST Conference, Mobilware 2011, London, UK, June 22-24, 2011, Revised Selected Papers},
        proceedings_a={MOBILWARE},
        year={2012},
        month={5},
        keywords={},
        doi={10.1007/978-3-642-30607-5_12}
    }
    
  • Arno Puder
    Year: 2012
    Running Android Applications without a Virtual Machine
    MOBILWARE
    Springer
    DOI: 10.1007/978-3-642-30607-5_12
Arno Puder1,*
  • 1: San Francisco State University
*Contact email: arno@sfsu.edu

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.