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 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:

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

  2. Kliknij kartę Narzędzia SDK.

  3. Zaznacz pola wyboru NDK (obok siebie)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 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:

  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:

  1. Otwórz projekt i kliknij Narzędzia > Menedżer pakietu 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 wyświetli się informacja o tym, 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 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 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.