The Android NDK provides tools that allow Android application developers to embed components that make use of native code in their Android applications.
The Android NDK is a companion tool to the Android SDK that lets Android application developers build portions of their apps in native code. It is designed for use only in conjunction with the Android SDK, so if you have not already installed the Android 1.5 SDK, please do so before downloading the NDK.
The Native Development Kit comes with a series of cross-toolchains (compilers, linkers, etc..) that you can use to create native ARM binaries.
It provides a set of system headers for stable native APIs that are guaranteed to be supported in all later releases of the platform:
· libc (C library) headers
· libm (math library) headers
· JNI interface headers
· libz (Zlib compression) headers
· liblog (Android logging) header
· A Minimal set of headers for C++ support
The NDK also provides a build system that lets you work efficiently with your sources, without having to handle the toolchain/platform/CPU/ABI details. You create very short build files to describe which sources to compile and which Android application will use them — the build system compiles the sources and places the shared libraries directly in your application project.
Here are some key features of "Android NDK":
· A set of tools and build files used to generate native code libraries from C and C++ sources
· A way to embed the corresponding native libraries into application package files (.apks) that can be deployed on Android devices
· A set of native system headers and libraries that will be supported in all future versions of the Android platform, starting from Android 1.5
· Documentation, samples, and tutorials
· A complete Android SDK installation (including all dependencies) is required.
· Android 1.5 SDK or later version is required.
· GNU Make 3.81 or later is required. Earlier versions of GNU Make might work but have not been tested
· The native libraries created by the Android NDK can only be used on devices running the Android 1.5 platform version or later. This is due to toolchain and ABI related changes that make the native libraries incompatible with 1.0 and 1.1 system images.
· For this reason, you should use native libraries produced with the NDK in applications that are deployable to devices running the Android 1.5 platform version or later. To ensure compatibility, an application using a native library produced with the NDK m
What's New in This Release: [ read full changelog ]
· Added 64-bit host toolchain set (package name suffix *-x86_64.*). For more information, see CHANGES.HTML and NDK-BUILD.html.
· Added Clang 3.2 compiler. GCC 4.6 is still the default. For information on using the Clang compiler, see CHANGES.HTML.
· Added static code analyzer for Linux/MacOSX hosts. For information on using the analyzer, see CHANGES.HTML.
· Added MCLinker for Linux/MacOSX hosts as an experimental feature. The ld.gold linker is the default where available, so you must explicitly enable it. For more information, see CHANGES.HTML.
· Updated ndk-build to use topological sort for module dependencies, which means the build automatically sorts out the order of libraries specified in LOCAL_STATIC_LIBRARIES, LOCAL_WHOLE_STATIC_LIBRARIES and LOCAL_SHARED_LIBRARIES. For more information, see CHANGES.HTML. (Issue 39378)
IMPORTANT BUG FIXES:
· Fixed build script to build all toolchains in -O2. Toolchains in previous releases...