Comparative evaluation between Java application using JNI and native C/C++ application running on an Android platform.

Abstract

Android is a popular operating system based on the Linux kernel and has a Java-based framework. As it is built on Linux, it supports the development of applications written in C/C++, known as native applications. The Native Development Kit (NDK), along with the Java Native Interface (JNI), provides a solution for communication between Java applications and native C/C++ applications, resulting in a significant performance boost. This article evaluated the performance difference between Java applications using JNI with the NDK and native C/C++ applications, focusing on algorithms widely used in various areas such as automation, networking, telecom, cybersecurity, etc. We conducted sequence of executions initiated either through a graphical interface or via the Android Debug Bridge (ADB) command line, with timing performed by external hardware with its own firmware for this evaluation. Based on the results, we observed that in all test cases, the native application performs faster, except when there are variations related to process scheduling, which may rarely lead to a reversal of this pattern.

Downloads

Download data is not yet available.
Published
2025-01-29
How to Cite
Venâncio, A., Barros de Souza, T. R., & Cardoso Dias, B. (2025). Comparative evaluation between Java application using JNI and native C/C++ application running on an Android platform. ITEGAM-JETIA, 11(51), 20-27. https://doi.org/10.5935/jetia.v11i51.1310
Section
Articles