为了方便不好外出下载的同学,特此把链接复制过来,大家右键迅雷下载吧。XD
Downloads
Platform | Package | Size (Bytes) | MD5 Checksum |
---|---|---|---|
Windows 32-bit | android-ndk-r10d-windows-x86.exe | 455427281 | c0930abfae0c990c4d191cc4ebd46b68 |
Windows 64-bit | android-ndk-r10d-windows-x86_64.exe | 472613732 | 9a33f96da58a7e0b70e47d27b4a880b4 |
Mac OS X 32-bit | android-ndk-r10d-darwin-x86.bin | 441545213 | 0aeb3dc062dc457a4cd01e72eadb2379 |
Mac OS X 64-bit | android-ndk-r10d-darwin-x86_64.bin | 442691567 | cb101e1e62d56ea75b215f6bc6c27fae |
Linux 32-bit (x86) | android-ndk-r10d-linux-x86.bin | 449997190 | 70ed6d8c34e7e620c145b791e8eeef89 |
Linux 64-bit (x86) | android-ndk-r10d-linux-x86_64.bin | 459151600 | 263b83071e6bca15f67898548d8d236e |
Revisions
The following sections provide information about releases of the NDK.
Android NDK, Revision 10d (December 2014)
-
Important changes:
-
- Made GCC 4.8 the default for all 32-bit ABIs. Deprecated GCC 4.6, and will remove it next release. To restore previous behavior, either add
NDK_TOOLCHAIN_VERSION=4.6
to ndk-build, or add--toolchain=arm-linux-androideabi-4.6
when executingmake-standalone-toolchain.sh
on the command line. GCC 4.9 remains the default for 64-bit ABIs. - Stopped all x86[_64] toolchains from adding
-mstackrealign
by default. The NDK toolchain assumes a 16-byte stack alignment. The tools and options used by default enforce this rule. A user writing assembly code must make sure to preserve stack alignment, and ensure that other compilers also comply with this rule. (GCC bug 38496) - Added Address Sanitizer functionality to Clang 3.5 support to the ARM and x86 ABIs. For more information on this change, see the Address Sanitizer project.
- Introduced the requirement, starting from API level 21, to use
-fPIE -pie
when building. In API levels 16 and higher, ndk-build usesPIE
when building. This change has a number of implications, which are discussed inDeveloper Preview Issue 888. These implications do not apply to shared libraries.
-
Important bug fixes:
-
- Made more fixes related to A53 Errata #835769 in the aarch64-linux-android-4.9 linker. As part of this, GCC passes a new option,
--fix-cortex-a53-835769
, when-mfix-cortex-a53-835769
(enabled by default) is specified. For more information, see this binutils message and this binutils message. - Documented a fix to a libc++
sscanf/vsscanf
hang that occurred in API level 21. The fix itself had been implemented in r10c. (Issue 77988) - Fixed an AutoFDO (
-fauto-profile
) crash that occurred with GCC 4.9 when-Os
was specified. (Issue 77571)
Other bug fixes:
- Made more fixes related to A53 Errata #835769 in the aarch64-linux-android-4.9 linker. As part of this, GCC passes a new option,
-
- Made the following header and library fixes:
- Added
posix_memalign
to API level 16. Also, added a prototype instdlib.h
to API levels 16 to 19. (Issue77861) - Fixed
stdatomic.h
so that it includes<atomic>
only for C++11. - Modified the following headers for standalone use:
sys/user.h
, andgl2ext.h
,dlext.h
,fts.h
,sgidefs.h
for API level 21. - Modified
sys/user.h
to renamemxcsr_mask
asmxcr_mask
, and to change the data type foru_ar0
fromunsigned long
to struct user_regs_struct*. - Changed
sysconf()
return value type fromint
tolong
.
- Added
- Fixed ndk-build's handling of
thumb
forLOCAL_ARM_MODE
: In r10d, ndk-build addsLOCAL_LDFLAGS+=-mthumb
by default, unless one of the following conditions applies:- You have set
LOCAL_ARM_MODE
equal toarm
. - You are doing a debug build (with settings such as
APP_OPTIM=debug
andAndroidManifest.xml
containingandroid:debuggable="true"
), where ARM mode is the default in order to retain compatibility with earlier toolchains. (Issue 74040)
- You have set
- Fixed
LOCAL_SRC_FILES
in ndk-build to use Windows absolute paths. (Issue 74333) - Removed bash-specific code from ndk-gdb. (Issue 73338)
- Removed bash-specific code from
make-standalone-toolchain.sh
. (Issue 74145) - Revised documentation concerning a fix for
System.loadLibrary()
transitive dependencies. (Issue 41790) - Fixed a problem that was preventing 64-bit packages from extracting on Ubuntu 14.04 and OS X 10.10 (Yosemite). (Issue 78148)
- Fixed an issue with
LOCAL_PCH
to improve Clang support. (Issue 77575) - Clarified "requires executable stack" warning from ld.gold. (Issue 79115)
- Made the following header and library fixes:
- Made GCC 4.8 the default for all 32-bit ABIs. Deprecated GCC 4.6, and will remove it next release. To restore previous behavior, either add
System and Software Requirements
The sections below describe the system and software requirements for using the Android NDK, as well as platform compatibility considerations that affect appplications using libraries produced with the NDK.
The Android SDK
- A complete Android SDK installation (including all dependencies) is required.
- Android 1.5 SDK or later version is required.
Supported operating systems
- Windows XP (32-bit) or Vista (32- or 64-bit)
- Mac OS X 10.4.8 or later (x86 only)
- Linux (32 or 64-bit; Ubuntu 8.04, or other Linux distributions using GLibc 2.7 or later)
Required development tools
- For all development platforms, GNU Make 3.81 or later is required. Earlier versions of GNU Make might work but have not been tested.
- A recent version of awk (either GNU Awk or Nawk) is also required.
- For Windows, Cygwin 1.7 or higher is required. The NDK will not work with Cygwin 1.5 installations.
Android platform compatibility
- The native libraries created by the Android NDK can only be used on devices running specific minimum Android platform versions. The minimum required platform version depends on the CPU architecture of the devices you are targeting. The following table details which Android platform versions are compatible with native code developed for specific CPU architectures.
Native Code CPU Architecture Used Compatible Android Platform(s) ARM, ARM-NEON Android 1.5 (API Level 3) and higher x86 Android 2.3 (API Level 9) and higher MIPS Android 2.3 (API Level 9) and higher These requirements mean you can use native libraries produced with the NDK in applications that are deployable to ARM-based devices running Android 1.5 or later. If you are deploying native libraries to x86 and MIPS-based devices, your application must target Android 2.3 or later.