Introduction To Android NDK

Posted on Apr 27, 2012 (2 years ago). Seen 19,089 times. 8 comments. Permalink Feed
Photo Aleksandar Gargenta
Technical Program Manager
Twitter Inc
Member since Jan 19, 2007
Location: San Francisco
Stream Posts: 38

While most Android apps are written in pure Java, Android's Native Development Kit (NDK) enables us to access code written in C/C++ via Java Native Interface (JNI). This is often done in the name of performance, or to take advantage of existing legacy code-base.

In this tutorial, we will see what NDK is, why we would use it, and build a simple application to see how to get started. I hope you enjoy it.

01 - What is the NDK? (3:16)
02 - Why use the NDK? (4:07)
03 - Installation (2:17)
04 - Getting Started (22:54)
05 - Application Binary Interface (8:09)
06 - The UI (10:49)
07 - The Client (15:32)
08 - The First Run (9:10)
09 - Using LibLog (11:01)
10 - Using JNI_OnLoad (18:51)

Code used in this tutorial is available at Marakana's GitHub Repository.


Posted on May 5, 2012
Photo Paul Beusterien
Member since Dec 20, 2011
Great tutorial! It's easy to follow the steps to get up and running with NDK.

An 11th module on ndk-gdb would be a would be my only additional request.

Nice work Saša!
Posted on May 5, 2012
Photo Aleksandar Gargenta
Technical Program Manager
Twitter Inc
Member since Jan 19, 2007
Location: San Francisco
Thanks Paul!

I definitely want to post a tutorial on NDK debugging, so do expect to see something soon!
Posted on Jul 2, 2012
Photo Ashok Tiwari
Member since Jul 2, 2012
Best Tutorial i have ever came across !!!
Posted on Dec 12, 2013
Photo Ehab Alsharairi
MSc in physics, mobile developer.
Plexabe inc.
Member since Dec 12, 2013
Great tutorial! it's the amazing step to start.
Posted on Jan 26, 2014
Photo Priyanthi Dassanayake
Member since Jan 26, 2014
wondeful Alex, Great tutorial... Was very very helpful, Thanks you
Posted on Jun 27, 2014
Photo Saeed Mirzaee
Member since Jun 27, 2014
Is there any setup procedure for windows?
Posted on Aug 4, 2014
Photo Sanjay Bhalerao
Trizeus Consultancy Services
Member since Aug 4, 2014
Wow really Great Tutorial !!! , It really saved my time , Thanks
:) I will always want more for you,
I would love to see *string handling,sockets, and executing arm-linux-gnueabi-gcc code from Android.

If possible pls share it.

Thanks !
Posted on Aug 15, 2014
Photo Tushar Mangukiya
Member since Aug 15, 2014
Location: Surat
wonderful Alex, Great tutorial...