Skip to Content
Learning Android
book

Learning Android

by Marko Gargenta
March 2011
Beginner
266 pages
6h 55m
English
O'Reilly Media, Inc.
Content preview from Learning Android

Chapter 15. The Native Development Kit (NDK)

The Native Development Kit, or NDK, is an add-on to SDK that helps you integrate native code—code that uses platform-specific features, generally exposed through C or C++ language APIs—within your Android application. The NDK allows your Android application to call some native code and even include some native libraries.

In the Gingerbread release of Android, NDK takes support for native code even further with the introduction of the NativeActivity class. You can now write your entire activity in C or C++. However, NativeActivity is not the subject of this chapter. Here, we’ll look at integrating native C code within your Java Android application.

What Is and Isn’t the NDK For?

The main motivation for developing parts of your app in native code is performance. As you can see, the NDK supports math and graphics libraries well, as well as some supporting system libraries. So graphically and computationally intensive applications are the best candidates for NDK. One could argue that the recent boom in the popularity of mobile games is driving this development as well.

Note that any native code accessible from your app via the Java Native Interface (JNI) still runs inside your application’s Dalvik VM. So it’s subject to the same security sandboxing rules that an Android application lives by. Writing parts of your application in C or C++ just so you can do something that might not be possible in Java usually is not a good reason for NDK. Keep ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

Learning Android, 2nd Edition

Learning Android, 2nd Edition

Marko Gargenta, Masumi Nakamura
Android Cookbook

Android Cookbook

Ian F. Darwin

Publisher Resources

ISBN: 9781449304881Errata Page