The Android NDK is a companion tool to the Android SDK that lets you buildperformance-critical portions of your apps in native code. It provides headers andlibraries that allow you to build activities, handle user input, use hardware sensors,access application
resources, and more, when programming in C or C++. If you writenative code, your applications are still packaged into an .apk file and they still runinside of a virtual machine on the device. The fundamental Android application modeldoes not change.
Using native code does not result in an automatic performance increase, but always increases application complexity. If you have not run into any limitationsusing the Android framework APIs, you probably do not need the NDK. Read
What is the NDK? for more information about whatthe NDK offers and whether it will be useful to you.
The NDK is designed for use only in conjunction with theAndroid SDK. If you have not already installed and setup the
Android SDK, pleasedo so before downloading the NDK.
|Mac OS X (intel)||android-ndk-r8-darwin-x86.tar.bz2||96650992 bytes||81ce5de731f945692123b377afe0bad9|
|Linux 32/64-bit (x86)||android-ndk-r8-linux-x86.tar.bz2||88310791 bytes||5c9afc9695ad67c61f82fbf896803c05|
The sections below provide information and notes about successive releases ofthe NDK, as denoted by revision number.Android NDK, Revision 8
This release of the NDK includes support for MIPS ABI and a few additional fixes.
docs/CPU-MIPS.htmlin the NDK package.
By default, code is generated for ARM-based devices. You can add
mips to your
APP_ABI definition in your
Application.mk file to build for MIPS platforms. For example, the following line instructs
ndk-build to build your code for three distinct ABIs:
APP_ABI := armeabi armeabi-v7a mips
Unless you rely on architecture-specific assembly sources, such as ARM assembly code, you should not need to touch your
Android.mk files to build MIPS machine code.
--arch=mipsoption when calling
docs/STANDALONE-TOOLCHAIN.htmlfor more details.
Note: To ensure that your applications are availableto users only if their devices are capable of running them, Google Play filters applications basedon the instruction set information included in your application — no action
is needed on your partto enable the filtering. Additionally, the Android system itself also checks your application atinstall time and allows the installation to continue only if the application provides a library thatis compiled for the device's CPU architecture.
dynamic_cast<D>(b)of base class object
bto derived class
Dis incorrectly adjusted in the opposite direction from the base class. (Issue 28721)
make-standalone-toolchain.shfails to copy
ndk-build.cmdto ensure that
ndk-build.cmdworks correctly even if the user has redefined the
SHELLenvironment variable, which may be changed when installing a variety of development tools in Windows environments.