commit | ebc2432cfd6384117c71aa690aedfbc9be3552e1 | [log] [tgz] |
---|---|---|
author | Haibo Huang <hhb@google.com> | Wed Apr 29 21:28:17 2020 -0700 |
committer | Haibo Huang <hhb@google.com> | Thu Apr 30 04:30:37 2020 +0000 |
tree | 7c83ecefb489f41b7ce2bf70fb8393408286401f | |
parent | aa4d439a00000ab01a0b51a9b130072ddecf6230 [diff] |
Revert "Merge "Merge cherrypicks of [1298291, 1298292, 1299133, 1299134, 1299135, 1299136, 1299137, 1299138, 1299139, 1299140, 1299141, 1299142, 1299143, 1299084] into ndk-release-r21" into ndk-release-r21" This reverts commit a80e51fd779d2728d2f880d1371ff31b7c478a03, reversing changes made to 7e5b7197dc4afd967f9e361ea1b994b9bc5fb6a8. Exempt-From-Owner-Approval: revert Change-Id: Ic6edfa30e94bdb43958279e2f40c379461b52de8
The latest version of this document is available at https://android.googlesource.com/platform/ndk/+/master/README.md.
Note: This document is for developers of the NDK, not developers that use the NDK.
The NDK allows Android application developers to include native code in their Android application packages, compiled as JNI shared libraries.
This page provides an overview of what is contained in the NDK. For information on building or testing the NDK, the roadmap, or other information, see the navigation bar at the top of this page, or the docs directory.
The NDK components can be loosely grouped into host toolchains, target prebuilts, build systems, and support libraries.
For more information, see the Build System Maintainers guide.
While the NDK is primarily a toolchain for building Android code, the package also includes some build system support.
First, $NDK/build/core
contains ndk-build. This is the NDK's home grown build system. The entry point for this build system is $NDK/build/ndk-build
(or $NDK/build/ndk-build.cmd
).
A CMake toolchain file is included at $NDK/build/cmake/android.toolchain.cmake
. This is separate from CMake's own support for the NDK.
$NDK/build/tools/make_standalone_toolchain.py
is a tool which can create a redistributable toolchain that targets a single Android ABI and API level. As of NDK r19 it is unnecessary, as the installed toolchain may be invoked directly, but it remains for compatibility.
Since the Android Gradle plugin is responsible for both Java and native code, is not included as part of the NDK.
sources/android
and sources/third_party
contain modules that can be used in apps (gtest, cpufeatures, native_app_glue, etc) via $(call import-module,$MODULE)
in ndk-build. CMake modules are not yet available.