stringtranslate.com

Android НДК

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

Обзор

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

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

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

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

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

Рекомендации

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