Для компиляции и отладки машинного кода вашего приложения вам потребуются следующие компоненты:
- 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 Tools с параметром NDK (бок о бок).
Нажмите ОК .
В диалоговом окне будет указано, сколько места на диске занимает пакет NDK.
Нажмите ОК .
Когда установка завершится, нажмите «Готово» .
Ваш проект автоматически синхронизирует файл сборки и выполняет сборку. Устраните возникшие ошибки.
Настройка конкретной версии CMake
Диспетчер SDK включает в себя разветвленную версию 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, выполните следующие действия:
- Загрузите и установите 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 (Рядом) и флажки под ним, соответствующие версиям 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 .