To address these issues, JNI (Java Native Interface) has
been specified and applied to integrate native code and Java
program in a single application [4][5]. It has played a major
role in developing application which needs to interact with
native code (C/C++). Android uses JNI in its NDK (Native
Development Kit) [6], which is a toolset that helps developers
to interact with native code components in their applications.
The NDK includes tools and builds files that can be used to
generate native code libraries from C and C++ sources, and to
embed native libraries into an application package file. Thus,
with NDK, libraries can be developed to build activity, handle
user inputs, manage hardware sensors, and invoke platform
specific operations by calling the drivers of the underlined
Linux system.