Для компиляции и отладки собственного кода вашего приложения вам понадобятся следующие компоненты:
- Android Native Development Kit (NDK): набор инструментов, позволяющий использовать код C и C++ с Android.
- CMake: внешний инструмент сборки, работающий вместе с Gradle для сборки вашей нативной библиотеки. Этот компонент вам не нужен, если вы планируете использовать только ndk-build.
- LLDB: отладчик, используемый Android Studio для отладки нативного кода. По умолчанию LLDB устанавливается вместе с Android Studio.
На этой странице описывается, как установить эти компоненты автоматически или с помощью Android Studio или инструмента sdkmanager
для их загрузки и установки вручную.
Установить NDK и CMake автоматически
Плагин Android Gradle 4.2.0+ может автоматически установить необходимые NDK и CMake при первой сборке проекта, если их лицензии были приняты заранее. Если вы уже ознакомились с условиями лицензии и согласны с ними, вы можете предварительно принять их в скриптах с помощью следующей команды:
yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses
Установите NDK и CMake
При установке NDK Android Studio выбирает последнюю доступную версию NDK. Для большинства проектов достаточно установки этой версии NDK по умолчанию. Однако, если вашему проекту требуется одна или несколько определённых версий NDK, вы можете загрузить и настроить нужные версии . Это поможет обеспечить воспроизводимость сборок в проектах, каждый из которых зависит от определённой версии NDK. Android Studio устанавливает все версии NDK в каталог android-sdk /ndk/
.
Чтобы установить CMake и NDK по умолчанию в Android Studio, выполните следующие действия:
Открыв проект, нажмите Инструменты > Менеджер SDK .
Откройте вкладку «Инструменты SDK» .
Установите флажки NDK (Бок о бок) и CMake .
Рисунок 1. Окно инструментов SDK , показывающее опцию NDK (бок о бок)
Нажмите ОК .
В диалоговом окне будет указано, сколько места занимает пакет NDK на диске.
Нажмите ОК .
После завершения установки нажмите кнопку Готово .
Ваш проект автоматически синхронизирует файл сборки и выполняет сборку. Устраните все возникающие ошибки.
Настройте конкретную версию CMake
SDK Manager включает в себя форк CMake 3.6.0 и версию 3.10.2. Проекты, для которых не указана конкретная версия CMake, собираются с использованием CMake 3.10.2. Чтобы указать версию CMake, добавьте следующее в файл build.gradle
вашего модуля:
Круто
android { ... externalNativeBuild { cmake { ... version "cmake-version" } } }
Котлин
android { ... externalNativeBuild { cmake { ... version = "cmake-version" } } }
Если вы хотите использовать версию CMake, которая не включена в SDK Manager, выполните следующие действия:
- Загрузите и установите CMake с официального сайта CMake.
- Укажите версию CMake, которую Gradle должен использовать, в файле
build.gradle
вашего модуля. Добавьте путь к установке CMake в переменную окружения
PATH
или в файлlocal.properties
вашего проекта, как показано ниже. Если Gradle не может найти версию CMake, указанную в файлеbuild.gradle
, возникнет ошибка сборки.# If you set this property, Gradle no longer uses PATH to find CMake. cmake.dir = "path-to-cmake"</pre>
Если на вашей рабочей станции ещё не установлена система сборки Ninja, перейдите на официальный сайт Ninja , скачайте и установите последнюю версию Ninja для вашей ОС. Не забудьте также добавить путь к установленной системе Ninja в переменную окружения
PATH
.
Установить определенную версию NDK
Чтобы установить конкретную версию NDK, выполните следующие действия:
Открыв проект, нажмите Инструменты > Менеджер SDK .
Откройте вкладку «Инструменты SDK» .
Установите флажок Показать сведения о пакете .
Установите флажок NDK (Side by side) и флажки под ним, соответствующие версиям NDK, которые вы хотите установить. Android Studio устанавливает все версии NDK в каталог
android-sdk /ndk/
.Рисунок 2. Окно инструментов SDK, показывающее параметры NDK (бок о бок)
Нажмите ОК .
В диалоговом окне отображается информация о том, сколько места занимают пакеты NDK.
Нажмите ОК .
После завершения установки нажмите кнопку Готово .
Ваш проект автоматически синхронизирует файл сборки и выполняет сборку. Устраните все возникающие ошибки.
Настройте каждый модуль , указав нужную версию NDK. При использовании Android Studio 3.6 или выше, если версия не указана, плагин Android Gradle выберет версию, с которой он заведомо совместим.
Настройте конкретные версии NDK в вашем проекте
Вам может потребоваться настроить версию NDK в вашем проекте, если выполняется одно из следующих условий:
- Ваш проект унаследован, и вам необходимо использовать определённые версии NDK и плагина Android Gradle (AGP). Подробнее см. в разделе «Настройка NDK для плагина Android Gradle» .
У вас установлено несколько версий NDK, и вы хотите использовать определённую. В этом случае укажите версию с помощью свойства
android.ndkVersion
в файлеbuild.gradle
модуля, как показано в следующем примере кода.Круто
android { ndkVersion "major.minor.build" // e.g., ndkVersion "21.3.6528147" }
Котлин
android { ndkVersion = "major.minor.build" // e.g., ndkVersion "21.3.6528147" }
Версия NDK по умолчанию для каждой версии AGP
Перед выпуском каждая версия AGP тщательно тестируется с использованием последней стабильной версии NDK на момент выпуска. Эта версия NDK используется для сборки ваших проектов, если вы не указали версию NDK в файле build.gradle
. Версии NDK по умолчанию для различных версий AGP описаны в примечаниях к выпуску AGP и примечаниях к предыдущим выпускам AGP .