Android NDK - AshokBhat/notes GitHub Wiki
- Native Development Kit
- For compiling C/C++ libraries within Android.
- The NDK and the Android OS use the same toolchain.
- Android's toolchain team is constantly working on updating to the latest upstream LLVM for the OS.
- NDK toolchain may be older as it needs to be stable
Component | Status |
---|---|
gcc | Removed in NDK r18 |
gdb | Planned removal in the future |
libgcc | Planned retirement in favor of compiler-rt |
GNU ar | Retired in r22 in favor of llvm-ar |
GNU strip | Retired in r22 in favor of llvm-strip |
Component | Status |
---|---|
clang | Available |
lld | First added in NDK r18, default in r22 |
lldb | First added in NDK r22 |
libc++ | Default in NDK r17 |
compiler-rt | Not default yet |
Releases | Notes |
---|---|
Rolling quarterly release | A frequent, "rolling" release Roughly quarterly basis |
LTS release | Long Term Support release Once a year (typically in Q3) Backports and bug fixes until the next LTS is released |
- Current LTS release - r21 (https://github.com/android/ndk/wiki/Changelog-r21)
- LLVM - r365631 (the master branch as of 10 July 2019).
- Beta - Oct 2019
- Release (r21) - Jan 20
- Release (r21b) - Apr 20
- Release (r21c) - May 20
- Release (r21d) - June 20
- Source: https://android-developers.googleblog.com/2019/10/introducing-ndk-r21-our-first-long-term.html
- LLVM - r399163b (the master branch as of 13 July 2020).
- Branch - https://android.googlesource.com/platform/ndk/+log/refs/heads/ndk-release-r22
- Details - https://github.com/android/ndk/wiki/Changelog-r22
Release | Expected Release Date |
---|---|
Beta 1 | Q4 2020 |
RC 1 | Q4 2020 |
Release | TBD |
- Master is the r23 canary as per an NDK commit
- clang version - clang-r399163b - as per https://android.googlesource.com/platform/ndk/+/refs/heads/master/ndk/toolchains.py
-
LLVM version available in https://android.googlesource.com/platform/ndk/+/refs/heads/master/ndk/toolchains.py
-
In llvm-tools repo
- python3 git_llvm_rev.py --llvm_dir --rev r
-
In llvm repo
- git log