Aby skompilować i debugować kod natywny aplikacji, potrzebujesz tych komponentów:
- Pakiet Android Native Development Kit (NDK): zestaw narzędzi, który umożliwia używanie kodu C i C++ w Androidzie.
- CMake: zewnętrzne narzędzie do kompilacji, które współpracuje z Gradle przy kompilowaniu biblioteki natywnej. Jeśli planujesz używać tylko ndk-build, nie potrzebujesz tego komponentu.
- LLDB: debugger, którego Android Studio używa do debugowania kodu natywnego. LLDB jest domyślnie instalowany razem z Android Studio.
Na tej stronie opisujemy, jak zainstalować te komponenty automatycznie lub ręcznie za pomocą Androida Studio lub narzędzia sdkmanager
.
Automatyczna instalacja NDK i CMake
Wtyczka Androida do obsługi Gradle w wersji 4.2.0 lub nowszej może automatycznie zainstalować wymagane NDK i CMake przy pierwszej kompilacji projektu, jeśli licencje zostały wcześniej zaakceptowane. Jeśli warunki licencji zostały już przez Ciebie przeczytane i zaakceptowane, możesz wstępnie zaakceptować licencje w skryptach za pomocą tego polecenia:
yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses
Instalowanie NDK i CMake
Podczas instalowania NDK Android Studio wybiera najnowszą dostępną wersję NDK. W przypadku większości projektów wystarczy zainstalować tę domyślną wersję NDK.
Jeśli jednak Twój projekt wymaga co najmniej jednej konkretnej wersji NDK, możesz pobrać i skonfigurować konkretne wersje. Dzięki temu możesz mieć pewność, że kompilacje w różnych projektach, z których każdy zależy od określonej wersji NDK, będą powtarzalne. Android Studio instaluje wszystkie wersje NDK w katalogu android-sdk/ndk/
.
Aby zainstalować CMake i domyślny pakiet NDK w Android Studio:
Otwórz projekt i kliknij Narzędzia > Menedżer pakietu SDK.
Kliknij kartę Narzędzia SDK.
Zaznacz pola wyboru NDK (obok siebie) i CMake.
Rysunek 1. Okno Narzędzia SDK z opcją NDK (obok siebie).
Kliknij OK.
W oknie dialogowym zobaczysz, ile miejsca na dysku zajmuje pakiet NDK.
Kliknij OK.
Po zakończeniu instalacji kliknij Zakończ.
Projekt automatycznie synchronizuje plik kompilacji i przeprowadza kompilację. Popraw wszystkie błędy.
Konfigurowanie określonej wersji CMake
Menedżer pakietu SDK zawiera rozwidloną wersję 3.6.0 narzędzia CMake i wersję 3.10.2. Projekty, w których nie określono konkretnej wersji CMake, są kompilowane za pomocą CMake 3.10.2. Aby ustawić wersję CMake, dodaj do pliku build.gradle
modułu ten wiersz:
Groovy
android { ... externalNativeBuild { cmake { ... version "cmake-version" } } }
Kotlin
android { ... externalNativeBuild { cmake { ... version = "cmake-version" } } }
Jeśli chcesz użyć wersji CMake, która nie jest uwzględniona w Menedżerze SDK, wykonaj te czynności:
- Pobierz i zainstaluj CMake ze strony oficjalnej.
- Określ wersję CMake, której Gradle ma używać w pliku modułu
build.gradle
. Dodaj ścieżkę do instalacji CMake do zmiennej środowiskowej
PATH
lub uwzględnij ją w plikulocal.properties
projektu, jak pokazano poniżej. Jeśli Gradle nie może znaleźć wersji CMake określonej w plikubuild.gradle
, pojawi się błąd kompilacji.# If you set this property, Gradle no longer uses PATH to find CMake. cmake.dir = "path-to-cmake"</pre>
Jeśli nie masz jeszcze zainstalowanego na stacji roboczej systemu kompilacji Ninja, wejdź na oficjalną stronę Ninja, pobierz i zainstaluj najnowszą wersję Ninja dostępną dla Twojego systemu operacyjnego. Pamiętaj, aby dodać ścieżkę do instalacji Ninja do zmiennej środowiskowej
PATH
.
Instalowanie konkretnej wersji NDK
Aby zainstalować konkretną wersję NDK:
Otwórz projekt i kliknij Narzędzia > Menedżer pakietu SDK.
Kliknij kartę Narzędzia SDK.
Zaznacz pole wyboru Pokaż szczegóły pakietu.
Zaznacz pole wyboru NDK (obok siebie) i pola wyboru poniżej niego, które odpowiadają wersjom NDK, które chcesz zainstalować. Android Studio instaluje wszystkie wersje NDK w katalogu
android-sdk/ndk/
.Rysunek 2. Okno Narzędzia SDK z opcjami NDK (obok siebie).
Kliknij OK.
W oknie dialogowym wyświetli się informacja o tym, ile miejsca zajmują pakiety NDK.
Kliknij OK.
Po zakończeniu instalacji kliknij Zakończ.
Projekt automatycznie synchronizuje plik kompilacji i przeprowadza kompilację. Popraw wszystkie błędy.
Skonfiguruj każdy moduł, podając wersję NDK, której chcesz używać. Jeśli używasz Androida Studio w wersji 3.6 lub nowszej i nie określisz wersji, wtyczka Androida Gradle wybierze wersję, która jest z nią zgodna.
Konfigurowanie określonych wersji NDK w projekcie
Jeśli spełniony jest jeden z tych warunków, może być konieczne skonfigurowanie wersji NDK w projekcie:
- Projekt jest dziedziczony i musisz używać określonych wersji NDK i wtyczki Androida do Gradle (AGP). Więcej informacji znajdziesz w artykule Konfigurowanie NDK na potrzeby wtyczki Androida do obsługi Gradle.
Masz zainstalowanych kilka wersji NDK i chcesz używać konkretnej z nich. W takim przypadku określ wersję za pomocą właściwości
android.ndkVersion
w plikubuild.gradle
modułu, jak pokazano w tym przykładowym kodzie.Groovy
android { ndkVersion "major.minor.build" // e.g., ndkVersion "21.3.6528147" }
Kotlin
android { ndkVersion = "major.minor.build" // e.g., ndkVersion "21.3.6528147" }
Domyślna wersja NDK w zależności od wersji AGP
Przed wydaniem każda wersja AGP jest dokładnie testowana z najnowszą stabilną wersją NDK dostępną w danym momencie. Ta wersja NDK jest używana do kompilowania projektów, jeśli nie określisz wersji NDK w pliku build.gradle
. Domyślna wersja NDK dla różnych wersji AGP jest opisana w informacjach o wersji AGP i informacjach o wersjach AGP z przeszłości.