stringtranslate.com

Android NDK

Android Native Development Kit ( NDK ) предоставляет инструмент кросс-компиляции для компиляции кода, написанного на C / C++, который может быть скомпилирован в машинный код ARM или x86 (или их 64-битные варианты ) для Android . [4] [5] NDK использует компилятор Clang для компиляции C/C++. GCC был включен до NDK r17, но удален в r18 в 2018 году.

Обзор

Собственные библиотеки можно вызывать из кода Java , работающего под управлением Android Runtime , используя System.loadLibrary, часть стандартных классов Android Java. [6] [7]

Инструменты командной строки можно скомпилировать с помощью NDK и установить с помощью adb . [8]

Android использует Bionic в качестве библиотеки C и LLVM libc++ в качестве стандартной библиотеки C++ . NDK также включает в себя множество других API: [9] сжатие zlib , графику OpenGL ES или Vulkan , аудио OpenSL ES и различные API, специфичные для Android, для таких вещей, как ведение журнала, доступ к камерам или ускорение нейронных сетей .

NDK включает поддержку CMake и своего собственного ndk-build(основанного на GNU Make ). Android Studio поддерживает запуск любого из них из Gradle . Другие сторонние инструменты позволяют интегрировать NDK в Eclipse [10] и Visual Studio [11] .

Для профилирования ЦП в NDK также включен simpleperf [12] , который похож на инструмент Linux perf , но с лучшей поддержкой Android и, в частности, смешанных стеков Java/C++.

Ссылки

  1. ^ "Android NDK | Разработчики Android". Developer.android.com. 13 ноября 2012 г. Получено 13 марта 2014 г.
  2. ^ "Выпуск NDK r27c · android/ndk · GitHub" . Получено 26 октября 2024 г. .
  3. ^ "Загрузки NDK | Разработчики Android". developer.android.com . Получено 24.04.2018 .
  4. ^ Ратабуй, Сильвен (2015). Руководство по Android NDK для начинающих: откройте для себя нативную сторону Android и внедрите мощь C/C++ в свои приложения (2-е изд.). Бирмингем. ISBN 978-1-78398-965-2. OCLC  910639612.{{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  5. ^ Косаревский, Сергей (2013). Android NDK game development cookbook: более 70 захватывающих рецептов, которые помогут вам разрабатывать мобильные игры для Android на C++. Виктор Латыпов. Бирмингем. ISBN 978-1-78216-779-2. OCLC  880639342.{{cite book}}: CS1 maint: отсутствует местоположение издателя ( ссылка )
  6. ^ Шринивас, Даванум (9 декабря 2007 г.). "Android — Invoke JNI based methods (Bridging C/C++ and Java)". Архивировано из оригинала 16 декабря 2008 г. Получено 13 декабря 2008 г.
  7. ^ "java.lang.System". Разработчики Android . Получено 3 сентября 2009 г.
  8. ^ "Android Debug Bridge (adb)".
  9. ^ «Собственные API Android NDK | Android NDK».
  10. ^ «Использование Eclipse для разработки Android C/C++». 23 января 2011 г.
  11. ^ «Использование Visual Studio для разработки собственного кода Android – Учебники VisualGDB».
  12. ^ «Simpleperf | Android NDK».