MobileWireless Middleware, Operating Systems, and Applications

Volume 7 of the series Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering pp 381-392

Developing and Benchmarking Native Linux Applications on Android

  • Leonid BatyukAffiliated withTechnische Universität Berlin
  • , Aubrey-Derrick SchmidtAffiliated withTechnische Universität Berlin
  • , Hans-Gunther SchmidtAffiliated withTechnische Universität Berlin
  • , Ahmet CamtepeAffiliated withTechnische Universität Berlin
  • , Sahin AlbayrakAffiliated withTechnische Universität Berlin

* Final gross prices may vary according to local VAT.

Get Access


Smartphones get increasingly popular where more and more smartphone platforms emerge. Special attention was gained by the open source platform Android which was presented by the Open Handset Alliance (OHA) hosting members like Google, Motorola, and HTC. Android uses a Linux kernel and a stripped-down userland with a custom Java VM set on top. The resulting system joins the advantages of both environments, while third-parties are intended to develop only Java applications at the moment.

In this work, we present the benefit of using native applications in Android. Android includes a fully functional Linux, and using it for heavy computational tasks when developing applications can bring in substantional performance increase. We present how to develop native applications and software components, as well as how to let Linux applications and components communicate with Java programs. Additionally, we present performance measurements of native and Java applications executing identical tasks.

The results show that native C applications can be up to 30 times as fast as an identical algorithm running in Dalvik VM. Java applications can become a speed-up of up to 10 times if utilizing JNI.


software performance smartphones android C Java