Android NDK (Android Native Development Kit)  — необхідний набір інструментарію для розробки компонентів програмного забезпечення для платформи Android, який базується на C/C++ та інших мовах програмування. Містить у собі лімітований набір загальновживаних низькорівневих (нативних) бібліотек та API, написаних на С/С++ та інших мовах програмування, документацію і мінімальний набір прикладів для демонстрації базового функціонала. За допомогою NDK розробник застосунку для операційної системи Android може імплементувати окремі його частини, використовуючи такі мови, як C/C++, а не тільки Java. Це надає можливість використати деякі переваги, оскільки в окремих випадках код написаний на C/C++ може виконуватися швидше в порівнянні з кодом на Java. Це досягається тим що в С/С++ надається більший інструментарій для використання пам'яті і іншими підходами. Android NDK може бути використаний для платформи Android 1.5 (API Level 3) і новіших версій. Також доступні додаткові функції управління підключеними Android пристроями для перезавантаження і установки додатків: fastboot і adb (Android Debug Bridge).

Скрипт ndk-build Для зручності компіляції коду Android NDK містить спеціальний скрипт ndk-build, завданням якого є наступне: автоматичне визначення правил компіляції і файлу додатку для цільових бінарних файлів генерація бінарних файлів копіювання згенерованих бінарних файлів у потрібну директорію, визначену користувачем.

Використання Враховуючи відмінності які існують між кодом написаним на С/С++ в порівнянні з кодом написаним на Java, розробниками Google рекомендовано використовувати Android NDK у наступних цілях: пришвидшення розрахунків великих обчислень, таких як обробка сигналів, розрахунки для фізичних симуляцій, сортування тощо використання функціоналу зі сторонніх бібліотек написаних на С/С++, наприклад: OpenCV, OpenSL ES програмування на низькому рівні, або у випадках коли Java не надає необхідного інструментарію.

Примітки

Посилання Android NDK актуальні версії для завантажень Getting Started with the NDK Introduction to NDK

Див. також Android — Операційна система Android. Java Native Interface — механізм поєднання коду С/С++ та Java. Ядро Linux — Ядро Linux. Dalvik — Dalvik. SDK — Software Development Kit.