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. 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 ic 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 useOnlyIn conjunction with theandroid SDK. If you have not already installed and setup
Android SDK, pleasedo so before downloading the ndk.
Platform |
Package |
Size |
MD5 checksum |
Windows |
Android-ndk-r8-windows.zip |
109928336 bytes |
37b1a2576f28752fcc09e1b9c07e3f14 |
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 |
Revisions
The sections below provide information and notes about successive releases ofthe ndk, as denoted by revision number.
Android ndk, revision 8
(May 1, 2012)
This release of the ndk supported des support for MIPS abi and a few additional fixes.
New features:
- Added support for the MIPs Abi, which allows you to generate machine code that runs on compatible MIPS-based Android devices. major Features for MIPS include MIPS-specific toolchains, system headers, libraries and debugging support. for more details regarding
MIPs support, seedocs/CPU-MIPS.html
In the ndk package.By default, code is generated for ARM-based devices. You can addmips
To your
APP_ABI
Definition in yourApplication.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 shoshould not need to touch your
Android.mk
Files to build MIPS machine code.
- You can build a standalone MIPS toolchain using
--arch=mips
Option when calling
make-standalone-toolchain.sh
. Seedocs/STANDALONE-TOOLCHAIN.html
For 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 has ded 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.
Important bug fixes:
- Fixed a typo in Gabi ++ implementation where the result
dynamic_cast<D>(b)
Of Base Class Object
b
To derived classD
Is incorrectly adjusted in the opposite ction from the base class. (Issue 28721)
- Fixed an issue in which
make-standalone-toolchain.sh
Fails to copy
libsupc++.*
.
Other bug fixes:
- Fixed
ndk-build.cmd
To ensure thatndk-build.cmd
Works correctly even if the user has redefined
SHELL
Environment variable, which may be changed when installing a variety of development tools in Windows environments.