The NDK allows Android application developers to include native code in their Android application packages, compiled as JNI shared libraries.
For what we're working on, see the milestones.
For further into the future, see the NDK Roadmap.
The source for the NDK is maintained in AOSP. See https://android.googlesource.com/platform/ndk/+/master/README.md.
This section lists any in-progress features with open discussion bugs. We're still working on these and want to hear from you, so please read the thread and join the discussion if you have anything to add!
- None right now :)
Tutorial and API reference documentation is available on the Android Developer website:
- The NDK Guides help you get
started with the NDK.
- Information about building or debugging and profiling.
- Tutorial information for High-Performance Audio, Vulkan, and Neural Networks.
- The NDK API Reference covers all Android-specific APIs.
The documentation for Android's C library ("bionic") may be useful:
- Android bionic status talks about what APIs are available in what releases, and behaviors that have changed between API levels.
- Android changes for NDK developers details important dynamic linker changes in various Android releases. Invaluable if you're having trouble loading your .so files.
- 32-bit ABI bugs documents issues for 32-bit code.
The documentation for Android OS developers has:
- An overview of crash dumps/tombstones.
- A detailed reference to understanding common crashes.
- Discussions related to the Android NDK happen on the android-ndk Google Group.
- File bugs against the NDK at https://github.com/android-ndk/ndk/issues.
- See our calendar for upcoming releases.
- The NDK and Android Studio support ndk-build and CMake out of the box, but we also have a Build System Maintainers Guide.
- If you want to work on the NDK itself rather than just use it, see the README.md in the NDK source.