https://github.com/android/ndk
The Android Native Development Kit
https://github.com/android/ndk
Last synced: 11 months ago
JSON representation
The Android Native Development Kit
- Host: GitHub
- URL: https://github.com/android/ndk
- Owner: android
- Created: 2015-12-16T18:51:36.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2025-04-21T18:18:51.000Z (11 months ago)
- Last Synced: 2025-04-21T19:29:38.860Z (11 months ago)
- Size: 34.3 MB
- Stars: 2,086
- Watchers: 214
- Forks: 279
- Open Issues: 119
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
Awesome Lists containing this project
README
# Android Native Development Kit (NDK)
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](https://github.com/android/ndk/milestones).
For further into the future, see the
[NDK Roadmap](https://android.googlesource.com/platform/ndk/+/master/docs/Roadmap.md).
The source for the NDK is maintained in AOSP. See
https://android.googlesource.com/platform/ndk/+/master/README.md.
## RFC
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 :)
## NDK documentation
Tutorial and API reference documentation is available on the
[Android Developer website](https://developer.android.com/ndk/):
- The [NDK Guides](https://developer.android.com/ndk/guides/) help you get
started with the NDK.
- Information about [building](https://developer.android.com/ndk/guides/build)
or
[debugging and profiling](https://developer.android.com/ndk/guides/debug).
- Tutorial information for
[High-Performance Audio](https://developer.android.com/ndk/guides/audio),
[Vulkan](https://developer.android.com/ndk/guides/graphics), and
[Neural Networks](https://developer.android.com/ndk/guides/neuralnetworks).
- The [NDK API Reference](https://developer.android.com/ndk/reference) covers
all Android-specific APIs.
## C library ("bionic") and dynamic linker documentation
The documentation for Android's C library ("bionic") may be useful:
- [Android bionic status](https://android.googlesource.com/platform/bionic/+/master/docs/status.md)
talks about what APIs are available in what releases, and behaviors that have
changed between API levels.
- [Android changes for NDK developers](https://android.googlesource.com/platform/bionic/+/master/android-changes-for-ndk-developers.md)
details important dynamic linker changes in various Android releases.
Invaluable if you're having trouble loading your .so files.
- [32-bit ABI bugs](https://android.googlesource.com/platform/bionic/+/master/docs/32-bit-abi.md)
documents issues for 32-bit code.
## Understanding crashes/tombstones
The documentation for Android OS developers has:
- An overview of
[crash dumps/tombstones](https://source.android.com/devices/tech/debug).
- A detailed reference to understanding
[common crashes](https://source.android.com/devices/tech/debug/native-crash).
## Other resources
- Discussions related to the Android NDK happen on the
[android-ndk Google Group](http://groups.google.com/group/android-ndk).
- File bugs against the NDK at https://github.com/android-ndk/ndk/issues.
- See our
[calendar for upcoming releases](https://github.com/android-ndk/ndk/wiki).
- The NDK and Android Studio support ndk-build and CMake out of the box, but we
also have a
[Build System Maintainers Guide](https://android.googlesource.com/platform/ndk/+/master/docs/BuildSystemMaintainers.md).
- If you want to work _on_ the NDK itself rather than just use it, see the
[README.md in the NDK source](https://android.googlesource.com/platform/ndk/+/master/README.md).