In today’s embedded world, most real-time applications are developed using native language. This is due to the state-of-the-art compilers that generate optimized code for native language. But most Android applications are written using a customized version of Java, which is not apt for performance critical applications. An Android developer starts his learning from Java to build an Android SDK based applications. Hence, the chances are high that developers are not aware of the NDK used in conjunction with Android SDK to build performance critical portions of the application in native code. This paper touches upon all the topics that are essential to building an application using NDK.