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 zamierzasz używać tylko ndk-build, nie potrzebujesz tego komponentu.
- LLDB: debuger używany przez Androida Studio do debugowania kodu natywnego. LLDB jest domyślnie instalowany razem z Androidem Studio.
Na tej stronie opisaliśmy, jak zainstalować te komponenty automatycznie lub za pomocą narzędzia sdkmanager w Android Studio, aby pobrać i zainstalować je ręcznie.
Automatyczna instalacja NDK i CMake
Wtyczka Androida do obsługi Gradle w wersji 4.2.0 lub nowszej może automatycznie zainstalować wymagane narzędzia 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 instalacji 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 1 konkretnej wersji NDK, możesz pobrać i skonfigurować konkretne wersje. Dzięki temu możesz zapewnić powtarzalność kompilacji w projektach, z których każdy zależy od określonej wersji NDK. Android Studio instaluje wszystkie wersje NDK w katalogu android-sdk/ndk/.
Aby zainstalować CMake i domyślny pakiet NDK w Android Studio:
Po otwarciu projektu kliknij Narzędzia > Menedżer SDK.
Kliknij kartę Narzędzia SDK.
Zaznacz pola wyboru NDK (Side by side) 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ę. Rozwiąż wszystkie napotkane problemy.
Konfigurowanie konkretnej wersji CMake
Menedżer 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:
Dynamiczny
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
build.gradlemodułu. Dodaj ścieżkę do instalacji CMake do zmiennej środowiskowej
PATHlub uwzględnij ją w plikulocal.propertiesprojektu, 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 na stacji roboczej nie masz jeszcze zainstalowanego systemu kompilacji Ninja, wejdź na oficjalną stronę Ninjy, pobierz i zainstaluj najnowszą wersję Ninjy dostępną dla Twojego systemu operacyjnego. Pamiętaj też, aby dodać ścieżkę do instalacji Ninja do zmiennej środowiskowej
PATH.
Instalowanie konkretnej wersji NDK
Aby zainstalować konkretną wersję NDK:
Po otwarciu projektu kliknij Narzędzia > Menedżer 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ę. Rozwiąż wszystkie napotkane problemy.
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 do obsługi Gradle wybierze wersję, która jest z nią zgodna.
Konfigurowanie określonych wersji NDK w projekcie
Może być konieczne skonfigurowanie wersji NDK w projekcie, jeśli spełniony jest jeden z tych warunków:
- Projekt jest dziedziczony i musisz używać określonych wersji NDK i wtyczki Androida do obsługi 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.ndkVersionw plikubuild.gradlemodułu, jak pokazano w tym przykładowym kodzie.Dynamiczny
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 wtyczki Androida do obsługi Gradle 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 wcześniejszych wersjach AGP.