Changelog

Report issues to GitHub.

For Android Studio issues, follow the docs on the Android Studio site.

Announcements

  • Unified Headers are now enabled by default.

    Note: The deprecated headers will be removed in a future release, most likely r16. If they do not work for you, file bugs now.

    For migration tips, see Unified Headers Migration Notes.

  • GCC is no longer supported. It will not be removed from the NDK just yet, but is no longer receiving backports. It cannot be removed until after libc++ has become stable enough to be the default, as some parts of gnustl are still incompatible with Clang. It will likely be removed after that point.

  • Gingerbread (android-9) is no longer supported. The minimum API level target in the NDK is now Ice Cream Sandwich (android-14). If your APP_PLATFORM is set lower than android-14, android-14 will be used instead.

  • The CMake toolchain file now supports building assembly code written in YASM to run on x86 and x86-64 architectures. To learn more, see YASM in CMake.

r15c

r15b

APIs

NDK

  • awk is no longer in the NDK. We've replaced all uses of awk with Python.

Clang

libc++

Known Issues

  • This is not intended to be a comprehensive list of all outstanding bugs.
  • gabi++ (and therefore stlport) binaries can segfault when built for armeabi: https://github.com/android-ndk/ndk/issues/374.
  • ndk-gdb doesn't work on the Samsung Galaxy S8. https://android-review.googlesource.com/408522/ fixes this and will be in a future release. There is no workaround (but debugging in Android Studio should work).
  • MIPS64 must use the integrated assembler. Clang defaults to using binutils rather than the integrated assmebler for this target. ndk-build and cmake handle this for you, but make sure to use -fintegrated-as for MIPS64 for custom build systems. See https://github.com/android-ndk/ndk/issues/399.