Android NDK
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)[1].
Скрипт ndk-build
Для зручності компіляції коду Android NDK містить спеціальний скрипт ndk-build, завданням якого є наступне:
- автоматичне визначення правил компіляції і файлу додатку для цільових бінарних файлів
- генерація бінарних файлів
- копіювання згенерованих бінарних файлів у потрібну директорію, визначену користувачем.
Використання
Враховуючи відмінності які існують між кодом написаним на С/С++ в порівнянні з кодом написаним на Java, розробниками Google рекомендовано використовувати Android NDK у наступних цілях:
- пришвидшення розрахунків великих обчислень, таких як обробка сигналів, розрахунки для фізичних симуляцій, сортування тощо
- використання функціоналу зі сторонніх бібліотек написаних на С/С++, наприклад: OpenCV, OpenSL ES
- програмування на низькому рівні, або у випадках коли Java не надає необхідного інструментарію.
Див. також
- Android — Операційна система Android.
- Java Native Interface — механізм поєднання коду С/С++ та Java.
- Ядро Linux — Ядро Linux.
- Dalvik — Dalvik.
- SDK — Software Development Kit.
- Как перезагрузить андроид, несколько способов (ru-RU). Процитовано 29 вересня 2021.