diff --git a/docs/html/tools/sdk/ndk/index.jd b/docs/html/tools/sdk/ndk/index.jd index 0ac1881453ee2..b77a72ae9dfb7 100644 --- a/docs/html/tools/sdk/ndk/index.jd +++ b/docs/html/tools/sdk/ndk/index.jd @@ -2,33 +2,59 @@ ndk=true page.template=sdk -ndk.mac64_download=android-ndk-r9d-darwin-x86_64.tar.bz2 -ndk.mac64_bytes=400339614 -ndk.mac64_checksum=c914164b1231c574dbe40debef7048be +ndk.mac64_download=android-ndk32-r10-darwin-x86_64.tar.bz2 +ndk.mac64_bytes=411610468 +ndk.mac64_checksum=3ce1fa3dbe7a188f5d2640fd2f7ca944 -ndk.mac32_download=android-ndk-r9d-darwin-x86.tar.bz2 -ndk.mac32_bytes=393866116 -ndk.mac32_checksum=ee6544bd8093c79ea08c2e3a6ffe3573 +ndk.mac32_download=android-ndk32-r10-darwin-x86.tar.bz2 +ndk.mac32_bytes=404768263 +ndk.mac32_checksum=1824eec1f6749b6cb7bb306a3b924c33 -ndk.linux64_download=android-ndk-r9d-linux-x86_64.tar.bz2 -ndk.linux64_bytes=412879983 -ndk.linux64_checksum=c7c775ab3342965408d20fd18e71aa45 +ndk.linux64_download=android-ndk32-r10-linux-x86_64.tar.bz2 +ndk.linux64_bytes=420671390 +ndk.linux64_checksum=e3ff629d212a8106a43415862fa39baf -ndk.linux32_download=android-ndk-r9d-linux-x86.tar.bz2 -ndk.linux32_bytes=405218267 -ndk.linux32_checksum=6c1d7d99f55f0c17ecbcf81ba0eb201f +ndk.linux32_download=android-ndk32-r10-linux-x86.tar.bz2 +ndk.linux32_bytes=420078216 +ndk.linux32_checksum=8d9a5faa6e77b43bfae0f169079b21c4 -ndk.win64_download=android-ndk-r9d-windows-x86_64.zip -ndk.win64_bytes=520997454 -ndk.win64_checksum=8cd244fc799d0e6e59d65a59a8692588 +ndk.win64_download=android-ndk32-r10-windows-x86_64.zip +ndk.win64_bytes=529850429 +ndk.win64_checksum=b11f9239344f7c377ed5b627f0fb236e -ndk.win32_download=android-ndk-r9d-windows-x86.zip -ndk.win32_bytes=491440074 -ndk.win32_checksum=b16516b611841a075685a10c59d6d7a2 +ndk.win32_download=android-ndk32-r10-windows-x86.zip +ndk.win32_bytes=500135685 +ndk.win32_checksum=0a3c01147abba945cc4ef5837519ec97 -ndk.debug_info_download=android-ndk-r9d-cxx-stl-libs-with-debug-info.zip -ndk.debug_info_bytes=104947363 -ndk.debug_info_checksum=906c8d88e0f02295c3bfe6b8e98a1a35 + + +ndk.mac64_64_download=android-ndk64-r10-darwin-x86_64.tar.bz2 +ndk.mac64_64_bytes=327740247 +ndk.mac64_64_checksum=72561b27acc6192a2e81b345ea128a20 + +ndk.mac32_64_download=android-ndk64-r10-darwin-x86.tar.bz2 +ndk.mac32_64_bytes=323736411 +ndk.mac32_64_checksum=5bbaf9d8051ba5d2c0fff74cfd87c374 + +ndk.linux64_64_download=android-ndk64-r10-linux-x86_64.tar.bz2 +ndk.linux64_64_bytes=339708042 +ndk.linux64_64_checksum=737290195583268b7fbff4aa56465ab6 + +ndk.linux32_64_download=android-ndk64-r10-linux-x86.tar.bz2 +ndk.linux32_64_bytes=338544906 +ndk.linux32_64_checksum=bea5d027baeb948cbff6af840d26b80d + +ndk.win64_64_download=android-ndk64-r10-windows-x86_64.zip +ndk.win64_64_bytes=417411195 +ndk.win64_64_checksum=91879ec85539b45313a21b9526b911a8 + +ndk.win32_64_download=android-ndk64-r10-windows-x86.zip +ndk.win32_64_bytes=396751892 +ndk.win32_64_checksum=f79070ace2cde9ebf6a2e2be4a61ac7a + +ndk.debug_info_download=android-ndk-r10-cxx-stl-libs-with-debug-info.zip +ndk.debug_info_bytes=253198908 +ndk.debug_info_checksum=c2a90c43d17dbb5f0609cc8237491788 page.title=Android NDK @@ -56,129 +82,261 @@ box-shadow: -10px 10px 50px #888; This is the Android Software Development Kit License Agreement
Android NDK, Revision 10 (July 2014)
+
NDK_TOOLCHAIN_VERSION=clang
+ may not work for arm64-v8a and mips64.all32 and all64
+settings for APP_ABI.
+ APP_ABI=all32 is equivalent to
+APP_ABI=armeabi,armeabi-v7a,x86,mips.APP_ABI=all64 is equivalent to
+APP_ABI=arm64-v8a,x86_64,mips64.APP_ABI=all selects all ABIs.<tr1/cmath>
+Before defining your own math function, check _GLIBCXX_USE_C99_MATH_TR1 to see a
+function with that name already exists, in order to avoid "multiple definition" errors from the
+linker.platforms/android-L/ API directory. It includes:Android.h header for SLES/OpenSLES, enabling support for
+single-precision, floating-point audio format in AudioPlayer.libGLESv3.so.NDK_TOOLCHAIN_VERSION=4.9 to Application.mk, or exporting it as an
+environment variable from the command line. --toolchain= option in the
+make-standalone-toolchain.sh script. For example: --toolchain=arm-linux-androideabi-4.9.NDK_TOOLCHAIN_VERSION=4.8 or 4.9 to enable ndk-gdb to select GDB 7.6.-mssse3 build option to provide SSSE3 support, and made it the default for ABI x86
+(upgrading from SSE3). The image released by Google does not contain SSSE3 instructions.-fno-strict-aliasing if you use <list>, because __list_imp::_end_ breaks
+ TBAA rules. (Issue 61571.)LOCAL_PCH. (Issue 25412).std::feof, etc. (Issue 66668).-O3 assert on:llvm-3.2/llvm/include/llvm/MDBuilder.h:64: llvm::MDNode*
+llvm::MDBuilder::createBranchWeights(llvm::ArrayRef): Assertion Weights.size() >= 2
+&& "Need at least two branch weights!" (Issue 57381).
+ Assertion failed: (!Fn && "cast failed but able to resolve overload expression!!"), function CheckCXXCStyleCast, file
+Volumes/data/ndk-toolchain/src/llvm-3.3/llvm/tools/clang/lib/Sema/SemaCast.cpp, line 2018.
+(Issue 66950).
+ ssize_t to be int instead of long
+int.WCHAR_MIN and WCHAR_MAX so that they they take
+appropriate signs according to the architecture they're running on:-D__WCHAR_UNSIGNED__.wchar_t to be 16 bits, use -fshort-wchar.libc.so, and added pread64,
+pwrite64, ftruncate64 for
+Android API level 12 and higher. (Issue 69319). For more
+information, see the commit message accompanying AOSP change list
+ 94137.putchar. Warning message reads:include/stdio.h:236:5: warning: conflicts with previous declaration here
+[-Wattributes] int putchar(int); (Change list 91185).
+ make-standalone-toolchain.sh --stl=libc++ so that it:cxxabi.h. (Issue 68001).APP_PLATFORM
+environment variable.IsSystemLibrary() in crazy_linker so that it
+uses strrchr()
+ instead of strchr() to find the library path's true basename.-Wl,-shared (as opposed to
+-shared, which
+ had no compilation issues). The problem was that Clang added -pie for Android
+targets if neither -shared nor -static existed. This behavior, which was
+incorrect, caused the linker to complain that -shared and -pie could not
+co-exist.arm_neon.h to the x86 toolchain so that it now emulates ~47% of
+Neon. There is currently no support for 64-bit types. For more information, see the section on ARM
+Neon intrinsics support in the x86 documentation.$NDK/tests/build/b14811006-GOT_PREL-optimization/.--toolchain=x86_64-linux-android-4.9, which is equivalent to
+--toolchain=x86_64-4.9.
+
Android NDK, Revision 9d (March 2014)
APP_ABI=armeabi-v7a-hard, with
additional multilib option -mfloat-abi=hard. These options are for
-use with ARM GCC 4.6/4.8 and clang 3.3/3.4 (which use 4.8's assembler, linker,
+use with ARM GCC 4.6/4.8 and Clang 3.3/3.4 (which use 4.8's assembler, linker,
and libs). When using these options, note the following changes:ndk-build script, add the
@@ -322,7 +657,7 @@ to create a standalone toolchain with libc++ headers/lib.CPLUSPLUS-SUPPORT.html.
-(Issue 36496)
+(Issue 36496)
zlib, bz2,
_curses, _curses_panel, _hashlib,
@@ -637,7 +972,8 @@ GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
(Issue 55826)
external/icu4c/i18n/decimfmt.cpp:1322:1:
internal compiler error: in dbx_reg_number, at dwarf2out.c:10185
@@ -721,11 +1057,13 @@ LOCAL_LDFLAGS += -fopenmp
-funwind-tables to allow the stack to be unwound past previously blocked
points, such as __aeabi_idiv0.-mmxu option.-mmxu
+option.-mldc1-sdc1 to control ldxc1/sdxc1 too--toolchain=x86-4.4.3
+ --toolchain=x86-4.4.3
option when calling make-standalone-toolchain.sh. See
docs/STANDALONE-TOOLCHAIN.html for more details.
gnustl_static crashed when run on
platform releases older than API level 8 (Android 2.2).ndk-gdb: Fixed a bug that caused a segmentation fault when debugging Android 3.0
+ ndk-gdb: Fixed a bug that caused a segmentation fault when debugging
+Android 3.0
or newer devices.<android/input.h>: Two functions that were introduced in API level
@@ -2617,12 +2966,14 @@ float AMotionEvent_getHistoricalRawY(const AInputEvent* motion_event,
This release of the NDK does not include any new features compared to r5. The r5b release addresses the +
This release of the NDK does not include any new features compared to r5. The r5b release +addresses the following problems in the r5 release:
cygpath -m
from GNU Make for every source or object file, which caused problems
- with very large source trees. In case this doesn't work properly, define NDK_USE_CYGPATH=1 in your
+ with very large source trees. In case this doesn't work properly, define
+NDK_USE_CYGPATH=1 in your
environment to use cygpath -m again.NDK_MODULE_PATH environment variable from working properly when
+ NDK_MODULE_PATH environment variable from
+working properly when
it contained multiple directories separated with a colon. prebuilt-common.sh script contains fixes to check the compiler for 64-bit
generated machine code, instead of relying on the host tag, which
- allows the 32-bit toolchain to rebuild properly on Snow Leopard. The toolchain rebuild scripts now also support
+ allows the 32-bit toolchain to rebuild properly on Snow Leopard. The toolchain rebuild scripts
+now also support
using a 32-bit host toolchain.INET_ADDRSTRLEN was added to <netinet/in.h>.IN6_IS_ADDR_MC_NODELOCAL and IN6_IS_ADDR_MC_GLOBAL were added to <netinet/in6.h>.<asm/byteorder.h> to allow compilation with -std=c99.INET_ADDRSTRLEN was added to
+<netinet/in.h>.IN6_IS_ADDR_MC_NODELOCAL and
+IN6_IS_ADDR_MC_GLOBAL were added to <netinet/in6.h>.<asm/byteorder.h> to allow
+compilation with -std=c99.CHANGES.HTML document included in the downloaded NDK package.
+ {@link android.app.NativeActivity} class. For detailed information describing the changes
+in this
+ release, read the CHANGES.HTML document included in the downloaded NDK
+package.
./configure && make. See
- docs/STANDALONE-TOOLCHAIN.html for the details. The binaries for GCC 4.4.0 are still provided,
+ docs/STANDALONE-TOOLCHAIN.html for the details. The binaries for GCC 4.4.0 are still
+provided,
but the 4.2.1 binaries were removed.cpufeatures helper library that improves reporting
- of the CPU type (some devices previously reported ARMv7 CPU when the device really was an ARMv6). We
+ cpufeatures helper library that improves
+reporting
+ of the CPU type (some devices previously reported ARMv7 CPU when the device really was
+an ARMv6). We
recommend developers that use this library to rebuild their applications then
upload to Google Play to benefit from the improvements.native-plasma and native-activity,
+ native-plasma and
+native-activity,
to demonstrate how to write a native activity.For more information about API Level and its relationship to Android platform versions, - see Android API Levels.
+ see Android API +Levels.For more information, see the <uses-feature>
+
+"{@docRoot}guide/topics/manifest/uses-feature-element.html"><uses-feature>
documentation.
Before you get started make sure that you have downloaded the latest Android SDK and upgraded your applications and environment as - needed. The NDK is compatible with older platform versions but not older versions of the SDK tools. + needed. The NDK is compatible with older platform versions but not older versions of the SDK +tools. Also, take a moment to review the System and Software Requirements for the NDK, if you haven't already.
@@ -3178,7 +3553,8 @@ included with the NDK package.Write a native activity, which allows you to implement the lifecycle callbacks in native
code. The Android SDK provides the {@link android.app.NativeActivity} class, which is a
convenience class that notifies your
- native code of any activity lifecycle callbacks (onCreate(), onPause(),
+ native code of any activity lifecycle callbacks (onCreate(),
+onPause(),
onResume(), etc). You can implement the callbacks in your native code to handle
these events when they occur. Applications that use native activities must be run on Android
2.3 (API Level 9) or later.
Application.mk file, without needing to change anything else in the file. You can also build for
+ Application.mk file, without needing to change anything else in the file. You can
+also build for
both architectures at the same time and have everything stored in the final .apk.
Complete information is provided in the CPU-ARCH-ABIS.HTML in the NDK package.
@@ -3311,13 +3688,15 @@ information)