Tolong jelaskan mengenai Android NDK dari Pengembangan perangkat lunak Android

Kode ditulis dalam C/C++ dapat dikomplikasi kedalam ARM, atau x86 kode native  (atau varian 64-bit nya). NDK menggunakan compiler Clang untuk mengkompilasi C/C++. GCC disertakan hingga NDK r17, tetapi dihapus pada r18 pada 2018.

Native libraries bisa dipanggil dari kode Java yang berjalan dibawah Android Runtime menggunakan System.loadLibrary, bagian dari kelas standar Android Java.

Alat untuk Command-line dapat dikompilasi dengan NDK dan diinstal menggunakan ADB.

Android menggunakan Bionic sebagai C library, dan LLVM libc sebagai C++ Standard Library. NDK juga menyertakan beberapa API lainnya: zlib compression, OpenGL ES atau Vulkan graphics, OpenSL ES audio, dan beberapa API khusus android untuk hal-hal seperti logging, akses ke kamera, dan jaringan neural yang dipercepat.

NDK menyertakan dukungan untuk CMake dan build-ndk-nya sendiri (berdasarkan GNU Make). Android Studio mendukung untuk menjalankan salah satu dari ini dari Gradle. Alat pihak ketiga lainnya memungkinkan pengintegrasian NDK ke dalam Eclipse dan Visual Studio.

Untuk pembuatan profil CPU, NDK juga menyertakan simpleperf yang mirip dengan alat kinerja Linux, tetapi dengan dukungan yang lebih baik untuk Android dan khususnya untuk campuran Java / C ++ stacks.

Android Open Accessory Development Kit

Platform Android 3.1 (juga di-backport ke Android 2.3.4) memperkenalkan Android Open Accessory support, yang memungkinkan perangkat keras USB eksternal (aksesori USB Android) untuk berinteraksi dengan perangkat yang diberdayakan Android dalam mode "aksesori" khusus. Saat perangkat yang diberdayakan Android dalam mode aksesori, aksesori yang terhubung bertindak sebagai host USB (memberi daya pada bus dan menyebutkan perangkat) dan perangkat yang diberdayakan Android bertindak sebagai perangkat USB. Aksesori USB Android dirancang khusus untuk dipasang ke perangkat yang diberdayakan Android dan mematuhi protokol sederhana (protokol aksesori Android) yang memungkinkan mereka mendeteksi perangkat yang diberdayakan Android yang mendukung mode aksesori.