Mostly Android applications run in the Dalvik Virtual Machine. The software NDK is that toolset which allows you to implement parts of apps using Native Code languages e.g C and C++. That would be beneficial for certain classes of apps, in the form of reuse of existing code. And in certain cases it also increase the speed.
Features of NDK :
- It provides a set of tools and build files use to generate native libraries from C and C++ languages.
- A way to embed the corresponding native libraries into an application package file e.g extension (.apk), that can be deployed on android devices.
- A set of native system headers and libraries that will be supported in all future versions of android