diff options
author | Robert Ly <robertly@google.com> | 2011-11-11 19:17:23 -0800 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-11-11 19:17:23 -0800 |
commit | 83c16e2577705b577d2c74d45b0e55a50a0806e2 (patch) | |
tree | a1b475d47fa13209d4c78d6149178fd82f7eca32 /docs | |
parent | a8743f152aac4a8ef97c79bdad5232614453ce2a (diff) | |
parent | 5ad6f646fbe692b94961df6472bec2b8bd1ea382 (diff) | |
download | frameworks_base-83c16e2577705b577d2c74d45b0e55a50a0806e2.zip frameworks_base-83c16e2577705b577d2c74d45b0e55a50a0806e2.tar.gz frameworks_base-83c16e2577705b577d2c74d45b0e55a50a0806e2.tar.bz2 |
am 5ad6f646: Merge "docs: ndk r7 rel notes" into ics-mr0
* commit '5ad6f646fbe692b94961df6472bec2b8bd1ea382':
docs: ndk r7 rel notes
Diffstat (limited to 'docs')
-rw-r--r-- | docs/html/sdk/ndk/index.jd | 323 | ||||
-rw-r--r-- | docs/html/sdk/sdk_toc.cs | 3 |
2 files changed, 316 insertions, 10 deletions
diff --git a/docs/html/sdk/ndk/index.jd b/docs/html/sdk/ndk/index.jd index f87e1f6..afbad57 100644 --- a/docs/html/sdk/ndk/index.jd +++ b/docs/html/sdk/ndk/index.jd @@ -1,18 +1,19 @@ ndk=true -ndk.win_download=android-ndk-r6b-windows.zip -ndk.win_bytes=67670219 -ndk.win_checksum=f496b48fffb6d341303de170a081b812 +ndk.win_download=android-ndk-r7-windows.zip +ndk.win_bytes=81270552 +ndk.win_checksum=55483482cf2b75e8dd1a5d9a7caeb6e5 -ndk.mac_download=android-ndk-r6b-darwin-x86.tar.bz2 -ndk.mac_bytes=52798843 -ndk.mac_checksum=65f2589ac1b08aabe3183f9ed1a8ce8e +ndk.mac_download=android-ndk-r7-darwin-x86.tar.bz2 +ndk.mac_bytes=71262092 +ndk.mac_checksum=817ca5675a1dd44078098e43070f19b6 -ndk.linux_download=android-ndk-r6b-linux-x86.tar.bz2 -ndk.linux_bytes=46532436 -ndk.linux_checksum=309f35e49b64313cfb20ac428df4cec2 +ndk.linux_download=android-ndk-r7-linux-x86.tar.bz2 +ndk.linux_bytes=64884365 +ndk.linux_checksum=bf15e6b47bf50824c4b96849bf003ca3 page.title=Android NDK + @jd:body <h2 id="notes">Revisions</h2> @@ -61,6 +62,310 @@ padding: .25em 1em; <div class="toggleable open"> <a href="#" onclick="return toggleDiv(this)"><img src= "{@docRoot}assets/images/triangle-opened.png" class="toggle-img" height="9px" width="9px"> + Android NDK, Revision 7</a> <em>(November 2011)</em> + + <div class="toggleme"> + <p>This release of the NDK includes new features to support the Android 4.0 platform as well + as many other additions and improvements:</p> + + <dl> + <dt>New features</dt> + + <dd> + <ul> + <li>Added official NDK APIs for Android 4.0 (API level 14), which adds the following + native features to the platform: + + <ul> + <li>Added native multimedia API based on the Khronos Group OpenMAX AL™ 1.0.1 + standard. The new <code><OMXAL/OpenMAXAL.h></code> and + <code><OMXAL/OpenMAXAL_Android.h></code> headers allow applications targeting + API level 14 to perform multimedia output directly from native code by using a new + Android-specific buffer queue interface. For more details, see + <code>docs/openmaxal/index.html</code> and <a href= + "http://www.khronos.org/openmax/">http://www.khronos.org/openmax/</a>.</li> + + <li>Updated the native audio API based on the Khronos Group OpenSL ES 1.0.1™ + standard. With API Level 14, you can now decode compressed audio (e.g. MP3, AAC, + Vorbis) to PCM. For more details, see <code>docs/opensles/index.html</code> and + <a href= + "http://www.khronos.org/opensles">http://www.khronos.org/opensles/</a>.</li> + </ul> + </li> + + <li>Added CCache support. To speed up large rebuilds, define the + <code>NDK_CCACHE</code> environment variable to <code>ccache</code> (or the path to + your <code>ccache</code> binary). When declared, the NDK build system automatically + uses CCache when compiling any source file. For example: + <pre> +export NDK_CCACHE=ccache +</pre> + <p class="note"><strong>Note:</strong> CCache is not included in the NDK release + so you must have it installed prior to using it. For more information about CCache, see + <a href="http://ccache.samba.org">http://ccache.samba.org</a>.</p> + </li> + + <li>Added support for setting <code>APP_ABI</code> to <code>all</code> to indicate that + you want to build your NDK modules for all the ABIs supported by your given NDK + release. This means that either one of the following two lines in your + <code>Application.mk</code> are equivalent with this release: + <pre> +APP_ABI := all +APP_ABI := armeabi armeabi-v7a x86 +</pre> + + <p>This also works if you define <code>APP_ABI</code> when calling + <code>ndk-build</code> from the command-line, which is a quick way to check that your + project builds for all supported ABIs without changing the project's + <code>Application.mk file</code>. For example:</p> + <pre> +ndk-build APP_ABI=all +</pre> + </li> + + <li>Added a <code>LOCAL_CPP_FEATURES</code> variable in <code>Android.mk</code> that + allows you to declare which C++ features (RTTI or Exceptions) your module uses. This + ensures that the final linking works correctly if you have prebuilt modules that depend + on these features. See <code>docs/ANDROID-MK.html</code> and + <code>docs/CPLUSPLUS-SUPPORT.html</code> for more details.</li> + + <li>Shortened paths to source and object files that are used in build commands. When + invoking <code>$NDK/ndk-build</code> from your project path, the paths to the source, + object, and binary files that are passed to the build commands are significantly + shorter now, because they are passed relative to the current directory. This is useful + when building projects with a lot of source files, to avoid limits on the maximum + command line length supported by your host operating system. The behavior is unchanged + if you invoke <code>ndk-build</code> from a sub-directory of your project tree, or if + you define <code>NDK_PROJECT_PATH</code> to point to a specific directory.</li> + </ul> + </dd> + + <dt>Experimental features</dt> + + <dd> + You can now build your NDK source files on Windows <em>without</em> Cygwin by calling the + <code>ndk-build.cmd</code> script from the command line from your project path. The + script takes exactly the same arguments as the original <code>ndk-build</code> script. + The Windows NDK package comes with its own prebuilt binaries for GNU Make, Awk and other + tools required by the build. You should not need to install anything else to get a + working build system. + + <p class="caution"><strong>Important:</strong> <code>ndk-gdb</code> does not work on + Windows, so you still need Cygwin to debug.</p> + + <p>This feature is still experimental, so feel free to try it and report issues on the + <a href="http://b.android.com">public bug database</a> or <a href= + "http://groups.google.com/group/android-ndk">public forum</a>. All samples and unit tests + shipped with the NDK succesfully compile with this feature.</p> + </dd> + + <dt>Important bug fixes</dt> + + <dd> + <ul> + <li>Imported shared libraries are now installed by default to the target installation + location (<code>libs/<abi></code>) if <code>APP_MODULES</code> is not defined in + your <code>Application.mk</code>. For example, if a top-level module <code>foo</code> + imports a module <code>bar</code>, then both <code>libfoo.so</code> and + <code>libbar.so</code> are copied to the install location. Previously, only + <code>libfoo.so</code> was copied, unless you listed <code>bar</code> in your + <code>APP_MODULES</code> too. If you define <code>APP_MODULES</code> explicitly, the + behavior is unchanged.</li> + + <li><code>ndk-gdb</code> now works correctly for activities with multiple categories in + their MAIN intent filters.</li> + + <li>Static library imports are now properly transitive. For example, if a top-level + module <code>foo</code> imports static library <code>bar</code> that imports static + library <code>zoo</code>, the <code>libfoo.so</code> will now be linked against both + <code>libbar.a</code> and <code>libzoo.a</code>.</li> + </ul> + </dd> + + <dt>Other changes</dt> + + <dd> + <ul> + <li><code>docs/NATIVE-ACTIVITY.HTML</code>: Fixed typo. The minimum API level should be + 9, not 8 for native activities.</li> + + <li><code>docs/STABLE-APIS.html</code>: Added missing documentation listing EGL as a + supported stable API, starting from API level 9.</li> + + <li><code>download-toolchain-sources.sh</code>: Updated to download the toolchain + sources from <a href="http://android.googlesource.com">android.googlesource.com</a>, + which is the new location for the AOSP servers.</li> + + <li>Added a new C++ support runtime named <code>gabi++</code>. More details about it + are available in the updated <code>docs/CPLUSPLUS-SUPPORT.html</code>.</li> + + <li>Added a new C++ support runtime named <code>gnustl_shared</code> that corresponds + to the shared library version of GNU libstdc++ v3 (GPLv3 license). See more info at + <code>docs/CPLUSPLUS-SUPPORT.html</code></li> + + <li>Added support for RTTI in the STLport C++ runtimes (no support for + exceptions).</li> + + <li>Added support for multiple file extensions in <code>LOCAL_CPP_EXTENSION</code>. For + example, to compile both <code>foo.cpp</code> and <code>bar.cxx</code> as C++ sources, + declare the following: + <pre> +LOCAL_CPP_EXTENSION := .cpp .cxx +</pre> + </li> + + <li>Removed many unwanted exported symbols from the link-time shared system libraries + provided by the NDK. This ensures that code generated with the standalone toolchain + doesn't risk to accidentally depend on a non-stable ABI symbol (e.g. any libgcc.a + symbol that changes each time the toolchain used to build the platform is changed)</li> + + <li>Refreshed the EGL and OpenGLES Khronos headers to support more extensions. Note + that this does <em>not</em> change the NDK ABIs for the corresponding libraries, + because each extension must be probed at runtime by the client application. + + <p>The extensions that are available depend on your actual device and GPU drivers, + not the platform version the device runs on. The header changes simply add new + constants and types to make it easier to use the extensions when they have been + probed with <code>eglGetProcAddress()</code> or <code>glGetProcAddress()</code>. The + following list describes the newly supported extensions:</p> + + <dl> + <dt>GLES 1.x</dt> + + <dd> + <ul> + <li><code>GL_OES_vertex_array_object</code></li> + + <li><code>GL_OES_EGL_image_external</code></li> + + <li><code>GL_APPLE_texture_2D_limited_npot</code></li> + + <li><code>GL_EXT_blend_minmax</code></li> + + <li><code>GL_EXT_discard_framebuffer</code></li> + + <li><code>GL_EXT_multi_draw_arrays</code></li> + + <li><code>GL_EXT_read_format_bgra</code></li> + + <li><code>GL_EXT_texture_filter_anisotropic</code></li> + + <li><code>GL_EXT_texture_format_BGRA8888</code></li> + + <li><code>GL_EXT_texture_lod_bias</code></li> + + <li><code>GL_IMG_read_format</code></li> + + <li><code>GL_IMG_texture_compression_pvrtc</code></li> + + <li><code>GL_IMG_texture_env_enhanced_fixed_function</code></li> + + <li><code>GL_IMG_user_clip_plane</code></li> + + <li><code>GL_IMG_multisampled_render_to_texture</code></li> + + <li><code>GL_NV_fence</code></li> + + <li><code>GL_QCOM_driver_control</code></li> + + <li><code>GL_QCOM_extended_get</code></li> + + <li><code>GL_QCOM_extended_get2</code></li> + + <li><code>GL_QCOM_perfmon_global_mode</code></li> + + <li><code>GL_QCOM_writeonly_rendering</code></li> + + <li><code>GL_QCOM_tiled_rendering</code></li> + </ul> + </dd> + + <dt>GLES 2.0</dt> + + <dd> + <ul> + <li><code>GL_OES_element_index_uint</code></li> + + <li><code>GL_OES_get_program_binary</code></li> + + <li><code>GL_OES_mapbuffer</code></li> + + <li><code>GL_OES_packed_depth_stencil</code></li> + + <li><code>GL_OES_texture_3D</code></li> + + <li><code>GL_OES_texture_float</code></li> + + <li><code>GL_OES_texture_float_linear</code></li> + + <li><code>GL_OES_texture_half_float_linear</code></li> + + <li><code>GL_OES_texture_npot</code></li> + + <li><code>GL_OES_vertex_array_object</code></li> + + <li><code>GL_OES_EGL_image_external</code></li> + + <li><code>GL_AMD_program_binary_Z400</code></li> + + <li><code>GL_EXT_blend_minmax</code></li> + + <li><code>GL_EXT_discard_framebuffer</code></li> + + <li><code>GL_EXT_multi_draw_arrays</code></li> + + <li><code>GL_EXT_read_format_bgra</code></li> + + <li><code>GL_EXT_texture_format_BGRA8888</code></li> + + <li><code>GL_EXT_texture_compression_dxt1</code></li> + + <li><code>GL_IMG_program_binary</code></li> + + <li><code>GL_IMG_read_format</code></li> + + <li><code>GL_IMG_shader_binary</code></li> + + <li><code>GL_IMG_texture_compression_pvrtc</code></li> + + <li><code>GL_IMG_multisampled_render_to_texture</code></li> + + <li><code>GL_NV_coverage_sample</code></li> + + <li><code>GL_NV_depth_nonlinear</code></li> + + <li><code>GL_QCOM_extended_get</code></li> + + <li><code>GL_QCOM_extended_get2</code></li> + + <li><code>GL_QCOM_writeonly_rendering</code></li> + + <li><code>GL_QCOM_tiled_rendering</code></li> + </ul> + </dd> + + <dt>EGL</dt> + + <dd> + <ul> + <li><code>EGL_ANDROID_recordable</code></li> + + <li><code>EGL_NV_system_time</code></li> + </ul> + </dd> + </dl> + </li> + </ul> + </dd> + </dl> + </div> +</div> + + + +<div class="toggleable closed"> + <a href="#" onclick="return toggleDiv(this)"><img src= + "{@docRoot}assets/images/triangle-closed.png" class="toggle-img" height="9px" width="9px"> Android NDK, Revision 6b</a> <em>(August 2011)</em> <div class="toggleme"> diff --git a/docs/html/sdk/sdk_toc.cs b/docs/html/sdk/sdk_toc.cs index 9a18f7d..afe6a6e 100644 --- a/docs/html/sdk/sdk_toc.cs +++ b/docs/html/sdk/sdk_toc.cs @@ -192,7 +192,8 @@ class="new">new!</span> <span style="display:none" class="zh-TW"></span> </h2> <ul> - <li><a href="<?cs var:toroot ?>sdk/ndk/index.html">Android NDK, r6b</a> + <li><a href="<?cs var:toroot ?>sdk/ndk/index.html">Android NDK, r7</a> + <span class="new">new!</span> </li> <li><a href="<?cs var:toroot ?>sdk/ndk/overview.html">What is the NDK?</a></li> </ul> |