Instalowanie i konfigurowanie NDK i CMake

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 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 NDK i CMake przy pierwszym tworzeniu 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 pakietu NDK Android Studio wybiera najnowszy dostępny pakiet 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 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:

  1. Otwórz projekt i kliknij Narzędzia > Menedżer SDK.

  2. Kliknij kartę Narzędzia SDK.

  3. Zaznacz pola wyboru NDK (Side by side)CMake.

    Ilustracja przedstawiająca SDK Manager Rysunek 1. Okno Narzędzia SDK z opcją NDK (obok siebie).

  4. Kliknij OK.

    W oknie dialogowym zobaczysz, ile miejsca na dysku zajmuje pakiet NDK.

  5. Kliknij OK.

  6. Po zakończeniu instalacji kliknij Zakończ.

  7. Projekt automatycznie synchronizuje plik kompilacji i przeprowadza kompilację. Popraw wszystkie błędy.

Konfigurowanie konkretnej wersji CMake

Menedżer pakietów 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:

  1. Pobierz i zainstaluj CMake ze strony oficjalnej.
  2. Określ wersję CMake, której Gradle ma używać w pliku modułu build.gradle.
  3. Dodaj ścieżkę do instalacji CMake do zmiennej środowiskowej PATH lub uwzględnij ją w pliku local.properties projektu, jak pokazano poniżej. Jeśli Gradle nie może znaleźć wersji CMake określonej w pliku build.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>
    
  4. 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, wykonaj te czynności:

  1. Otwórz projekt i kliknij Narzędzia > Menedżer SDK.

  2. Kliknij kartę Narzędzia SDK.

  3. Zaznacz pole wyboru Pokaż szczegóły pakietu.

  4. 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/.

    Obraz okna SDK Tools Rysunek 2. Okno Narzędzia SDK z opcjami NDK (obok siebie).

  5. Kliknij OK.

    W oknie dialogowym zobaczysz, ile miejsca zajmują pakiety NDK.

  6. Kliknij OK.

  7. Po zakończeniu instalacji kliknij Zakończ.

  8. Projekt automatycznie synchronizuje plik kompilacji i przeprowadza kompilację. Popraw wszystkie błędy.

  9. 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 Android Gradle (AGP). Więcej informacji znajdziesz w artykule Konfigurowanie NDK dla 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 pliku build.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 AGPinformacjach o wersjach AGP z przeszłości.