Research Article
Running Android Applications without a Virtual Machine
@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
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.