Aby skompilować i przeprowadzić debugowanie kodu natywnego aplikacji, potrzebujesz tych komponentów:
- Pakiet Native Development Kit (NDK) na Androida: zestaw narzędzi umożliwiający korzystanie z kodu C i C++ na Androidzie.
- CMake: zewnętrzne narzędzie do kompilacji, które współpracuje z Gradle w celu kompilowania natywnej biblioteki. Jeśli planujesz używać tylko ndk-build, nie potrzebujesz tego komponentu.
- LLDB: debuger używany przez Android Studio do debugowania kodu natywnego. Domyślnie LLDB zostanie zainstalowany razem z Android Studio.
Na tej stronie opisaliśmy, jak zainstalować te komponenty automatycznie lub ręcznie po ich pobraniu za pomocą Android 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 pierwszym kompilowaniu projektu, jeśli licencje zostały zaakceptowane wcześniej. 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
Zainstaluj NDK i CMake.
Podczas instalowania NDK Android Studio wybiera najnowszą dostępną wersję NDK. W przypadku większości projektów wystarczy zainstalowanie tej domyślnej wersji NDK.
Jeśli jednak Twój projekt wymaga określonej wersji NDK, możesz pobrać i skonfigurować konkretne wersje. Dzięki temu możesz zapewnić możliwość odtwarzania kompilacji w projektach, które zależą od konkretnej wersji NDK. Android Studio instaluje wszystkie wersje NDK w katalogu android-sdk/ndk/
.
Aby zainstalować CMake i domyślny NDK w Android Studio:
W otwartym projekcie kliknij Narzędzia > Menedżer SDK.
Kliknij kartę Narzędzia pakietu SDK.
Zaznacz pola wyboru NDK (obok siebie) i CMake.
Rysunek 1. Okno Narzędzia SDK z opcją NDK (obok siebie)
Kliknij OK.
W oknie pojawi się informacja o tym, ile miejsca na dysku zajmuje pakiet NDK.
Kliknij OK.
Po zakończeniu instalacji kliknij Zakończ.
Twój projekt automatycznie zsynchronizuje plik kompilacji i przeprowadzi kompilację. Rozwiąż wszystkie błędy.
Konfigurowanie konkretnej wersji CMake
Menedżer pakietu SDK zawiera wersję 3.6.0 gałęzi CMake oraz wersję 3.10.2. Projekty, które nie mają określonej wersji CMake, są kompilowane za pomocą CMake 3.10.2. Aby ustawić wersję CMake, dodaj do pliku build.gradle
modułu:
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 pakietu SDK, wykonaj te czynności:
- Pobierz i zainstaluj CMake z oficjalnej strony CMake.
- W pliku
build.gradle
modułu określ wersję CMake, której Gradle ma używać. Dodaj ścieżkę do instalacji CMake do zmiennej środowiskowej
PATH
lub dodaj ją do plikulocal.properties
projektu, jak pokazano na ilustracji. Jeśli Gradle nie znajdzie 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ę Ninja i pobierz oraz zainstaluj najnowszą wersję Ninja 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, wykonaj te czynności:
W otwartym projekcie kliknij Narzędzia > Menedżer SDK.
Kliknij kartę Narzędzia pakietu SDK.
Zaznacz pole wyboru Pokaż szczegóły pakietu.
Zaznacz pole wyboru NDK (obok siebie) oraz pola wyboru poniżej, 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 pojawi się informacja o tym, ile miejsca zajmują pakiety NDK.
Kliknij OK.
Po zakończeniu instalacji kliknij Zakończ.
Twój projekt automatycznie zsynchronizuje plik kompilacji i przeprowadzi kompilację. Rozwiąż wszystkie błędy.
Skonfiguruj każdy moduł, używając wersji NDK, z której chcesz korzystać. Jeśli używasz Android Studio 3.6 lub nowszej wersji, a nie określisz wersji, wtyczka Gradle dla Androida wybierze wersję, która jest zgodna z Twoim projektem.
Konfigurowanie w projekcie konkretnych wersji NDK
Może być konieczne skonfigurowanie wersji NDK w projekcie, jeśli spełniony jest jeden z tych warunków:
- Twój projekt jest dziedziczony i musisz używać określonych wersji NDK oraz wtyczki Gradle dla Androida (AGP). Więcej informacji znajdziesz w artykule Konfigurowanie NDK dla wtyczki Gradle na Androida.
Masz zainstalowane różne wersje NDK i chcesz użyć konkretnej. W tym przypadku wskaż wersję za pomocą właściwości
android.ndkVersion
w plikubuild.gradle
modułu, jak pokazano w tym przykładzie kodu.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 dla każdej wersji AGP
Przed wydaniem każda wersja AGP jest dokładnie testowana z najnowszą stabilną wersją NDK. Ta wersja NDK jest używana do kompilowania projektów, jeśli w pliku build.gradle
nie określisz wersji NDK. Domyślna wersja NDK dla różnych wersji AGP jest opisana w informacjach o wersji AGP i informacjach o poprzednich wersjach AGP.