NDK und CMake installieren und konfigurieren

Zum Kompilieren und Debuggen von nativem Code für Ihre App benötigen Sie die folgenden Komponenten:

  • Das Android Native Development Kit (NDK): eine Reihe von Tools, mit denen Sie und C++ Code mit Android verwenden.
  • CMake: ein externes Build-Tool, das zusammen mit Gradle native Bibliothek. Sie benötigen diese Komponente nicht, wenn Sie nur ndk-build verwenden möchten.
  • LLDB: Der Debugger, den Android Studio zur Fehlerbehebung von nativem Code verwendet. LLDB wird standardmäßig zusammen mit Android Studio installiert.

Auf dieser Seite wird beschrieben, wie Sie diese Komponenten automatisch oder mithilfe von Android Studio oder das sdkmanager-Tool, um sie manuell herunterzuladen und zu installieren

NDK und CMake automatisch installieren

Mit dem Android Gradle-Plug-in 4.2.0 und höher können das erforderliche NDK und CMake automatisch installiert werden, wenn die Lizenzen vorab akzeptiert wurden. Wenn Sie die Lizenzbedingungen bereits gelesen und akzeptiert haben, können Sie die Lizenzen in Scripts mit dem folgenden Befehl vorab akzeptieren:

   yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses

NDK und CMake installieren

Bei der Installation des NDK wird in Android Studio das neueste verfügbare NDK ausgewählt. Für Für die meisten Projekte reicht die Installation dieser Standardversion des NDK aus. Wenn für Ihr Projekt eine oder mehrere bestimmte Versionen des NDK erforderlich sind, können Sie bestimmte Versionen herunterladen und konfigurieren. So können Sie reproduzierbare Builds für Projekte sicherstellen, die jeweils von einer bestimmten Version des NDK abhängen. Android Studio installiert alle Versionen des NDK im android-sdk/ndk/-Verzeichnis.

So installieren Sie CMake und das Standard-NDK in Android Studio:

  1. Klicken Sie bei geöffnetem Projekt auf Tools > SDK-Manager.

  2. Klicken Sie auf den Tab SDK-Tools.

  3. Klicken Sie die Kästchen NDK (Side by side) und CMake an.

    Bild von SDK Manager Abbildung 1: Das Fenster SDK Tools mit dem NDK (Side by side) Option

  4. Klicken Sie auf OK.

    In einem Dialogfeld wird angezeigt, wie viel Speicherplatz das NDK-Paket auf der Festplatte belegt.

  5. Klicken Sie auf OK.

  6. Klicken Sie nach Abschluss der Installation auf Fertigstellen.

  7. Die Build-Datei wird in Ihrem Projekt automatisch synchronisiert und ein Build ausgeführt. Beheben Sie alle auftretenden Fehler.

Bestimmte Version von CMake konfigurieren

Der SDK-Manager enthält die Fork-Version 3.6.0 von CMake und Version 3.10.2. Projekte, für die keine bestimmte CMake-Version festgelegt ist, werden mit CMake 3.10.2 erstellt. Wenn Sie die CMake-Version festlegen möchten, fügen Sie der Datei build.gradle Ihres Moduls Folgendes hinzu:

Groovy

android {
    ...
    externalNativeBuild {
        cmake {
            ...
            version "cmake-version"
        }
    }
}

Kotlin

android {
    ...
    externalNativeBuild {
        cmake {
            ...
            version = "cmake-version"
        }
    }
}

Wenn Sie eine CMake-Version verwenden möchten, die nicht im SDK-Manager führen Sie diese Schritte aus:

  1. Laden Sie CMake von der offiziellen CMake-Website herunter und installieren Sie es.
  2. Geben Sie die CMake-Version an, die Gradle in der build.gradle-Datei.
  3. Fügen Sie den Pfad zur CMake-Installation entweder der Umgebungsvariablen PATH hinzu oder nehmen Sie ihn wie gezeigt in die Datei local.properties Ihres Projekts auf. Wenn Gradle die in der Datei build.gradle angegebene CMake-Version nicht finden kann, wird ein Buildfehler ausgegeben.

    # If you set this property, Gradle no longer uses PATH to find CMake.
    cmake.dir = "path-to-cmake"</pre>
    
  4. Wenn das Ninja-Buildsystem noch nicht auf Ihrer Workstation installiert ist, rufen Sie die offizielle Ninja-Website auf und laden Sie die neueste Version von Ninja für Ihr Betriebssystem herunter und installieren Sie sie. Fügen Sie der Umgebungsvariablen PATH auch den Pfad zur Ninja-Installation hinzu.

Eine bestimmte Version des NDK installieren

So installieren Sie eine bestimmte Version des NDK:

  1. Klicken Sie bei geöffnetem Projekt auf Tools > SDK-Manager.

  2. Klicke auf den Tab SDK-Tools.

  3. Aktivieren Sie das Kästchen Paketdetails anzeigen.

  4. Aktivieren Sie das Kontrollkästchen NDK (Side by side) und die Kästchen darunter. den NDK-Versionen entsprechen, die Sie installieren möchten. Android Studio-Installationen alle Versionen des NDK im android-sdk/ndk/ -Verzeichnis.

    Bild des Fensters „SDK Tools“ Abbildung 2. Das Fenster SDK Tools mit dem NDK (Side by side) Optionen

  5. Klicken Sie auf OK.

    In einem Dialogfeld wird angezeigt, wie viel Speicherplatz die NDK-Pakete belegen.

  6. Klicken Sie auf OK.

  7. Klicken Sie nach Abschluss der Installation auf Fertigstellen.

  8. Ihr Projekt synchronisiert automatisch die Build-Datei und führt einen Build aus. Beheben Sie alle auftretenden Fehler.

  9. Konfigurieren Sie jedes Modul mit der Version des NDK. die Sie verwenden möchten. Wenn Sie Android Studio 3.6 oder höher verwenden und die Version nicht angeben, wählt das Android Gradle-Plug-in eine Version aus, die nachweislich kompatibel ist.

Bestimmte Versionen des NDK in Ihrem Projekt konfigurieren

Möglicherweise müssen Sie die Version des NDK in Ihrem Projekt konfigurieren, wenn eines der trifft Folgendes zu:

  • Ihr Projekt wurde übernommen und Sie müssen bestimmte Versionen des NDK verwenden und das Android-Gradle-Plug-in (AGP). Weitere Informationen finden Sie unter Konfigurieren Sie das NDK für das Android-Gradle-Plug-in.
  • Sie haben mehrere Versionen des NDK installiert und möchten eine bestimmte Version verwenden. Geben Sie in diesem Fall die Version mit der Eigenschaft android.ndkVersion in der Datei build.gradle des Moduls an, wie im folgenden Codebeispiel gezeigt.

    Cool

    android {
        ndkVersion "major.minor.build" // e.g.,  ndkVersion "21.3.6528147"
    }

    Kotlin

    android {
        ndkVersion = "major.minor.build" // e.g.,  ndkVersion "21.3.6528147"
    }

Standard-NDK-Version pro AGP-Version

Vor der Veröffentlichung wird jede AGP-Version gründlich mit dem jeweils aktuellen stabilen NDK-Release getestet. Diese NDK-Version wird zum Erstellen Ihrer Projekte verwendet, wenn Sie in der Datei build.gradle keine NDK-Version angeben. Die Standard-NDK-Version für verschiedene AGP-Versionen ist in den AGP-Release-Notes und den bisherigen AGP-Release-Notes dokumentiert.