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

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

Full description

Saved in:
Bibliographic Details
Main Authors: Alison de Oliveira Venâncio, Thales Ruano Barros de Souza, Bruno Raphael Cardoso Dias
Format: Article
Language:English
Published: Institute of Technology and Education Galileo da Amazônia 2025-01-01
Series:ITEGAM-JETIA
Online Access:http://itegam-jetia.org/journal/index.php/jetia/article/view/1310
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary: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.
ISSN:2447-0228