Overview of Android NDK (Native Development Toolkit). Android application development is primarily done with the Android SDK. Apps are written in Java thus benefitting from the high-level constructs of the managed environment as well as the wealth of functionality provided by the Android application platform. However, sometimes it is necessary to implement certain functionality natively in C++, e.g. when access to hardware is required or 3rd party stacks have to be included that are only available as C++ code. The NDK is a lightweight development toolkit for writing native applications and libraries that can interwork with Java application code.