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 C- und C++-Code mit Android verwenden können
  • CMake: Ein externes Build-Tool, das zusammen mit Gradle Ihre native Bibliothek erstellt. 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 du diese Komponenten automatisch oder mithilfe von Android Studio oder dem sdkmanager-Tool herunterlädst und manuell installierst.

NDK und CMake automatisch installieren

Das Android-Gradle-Plug-in 4.2.0 oder höher kann das erforderliche NDK und CMake beim ersten Erstellen deines Projekts automatisch installieren, wenn die Lizenzen im Voraus akzeptiert wurden. Wenn Sie die Lizenzbedingungen bereits gelesen haben und ihnen zustimmen, können Sie die Lizenzen mit dem folgenden Befehl in Skripts 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 die meisten Projekte reicht es aus, diese Standardversion des NDK zu installieren. Wenn Ihr Projekt jedoch eine oder mehrere spezifische Versionen des NDK benötigt, können Sie bestimmte Versionen herunterladen und konfigurieren. Auf diese Weise können Sie reproduzierbare Builds über Projekte hinweg erstellen, die jeweils von einer bestimmten NDK-Version abhängig sind. Android Studio installiert alle Versionen des NDK im Verzeichnis android-sdk/ndk/.

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

  1. Klicken Sie in einem geöffneten 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 der Option NDK (Side by side).

  4. Klicke auf OK.

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

  5. Klicke auf OK.

  6. Klicken Sie nach Abschluss der Installation auf Fertigstellen.

  7. Ihr Projekt synchronisiert automatisch die Build-Datei und führt einen Build aus. 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. Fügen Sie der Datei build.gradle Ihres Moduls Folgendes hinzu, um die CMake-Version festzulegen:

Cool

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 enthalten ist, gehen Sie so vor:

  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 Datei build.gradle Ihres Moduls verwenden soll.
  3. Fügen Sie den Pfad zur CMake-Installation entweder in die Umgebungsvariablen PATH ein oder fügen Sie ihn wie gezeigt in die Datei local.properties Ihres Projekts ein. Wenn Gradle die Version von CMake, die Sie in der Datei build.gradle angegeben haben, nicht finden kann, wird ein Build-Fehler zurückgegeben.

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

Eine bestimmte Version des NDK installieren

So installieren Sie eine bestimmte Version des NDK:

  1. Klicken Sie in einem geöffneten Projekt auf Tools > SDK Manager.

  2. Klicken Sie auf den Tab SDK-Tools.

  3. Klicken Sie das Kästchen Paketdetails anzeigen an.

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

    Bild des Fensters „SDK Tools“ Abbildung 2: Das Fenster SDK Tools mit den Optionen für NDK (Side by side)

  5. Klicke auf OK.

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

  6. Klicke 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 keine Version angeben, wählt das Android-Gradle-Plug-in eine Version aus, mit der es bekanntermaßen kompatibel ist.

Bestimmte Versionen des NDK in Ihrem Projekt konfigurieren

Möglicherweise müssen Sie die Version des NDK in Ihrem Projekt konfigurieren, wenn eine der folgenden Bedingungen zutrifft:

  • Ihr Projekt wird übernommen und Sie müssen bestimmte Versionen des NDK und des Android-Gradle-Plug-ins (AGP) verwenden. Weitere Informationen finden Sie unter NDK für das Android-Gradle-Plug-in konfigurieren.
  • Sie haben mehrere Versionen des NDK installiert und möchten eine bestimmte verwenden. Geben Sie in diesem Fall die Version mithilfe des Attributs 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"
    }
    

NDK-Standardversion pro AGP-Version

Vor der Veröffentlichung wird jede AGP-Version gründlich mit der zu diesem Zeitpunkt aktuellen stabilen NDK-Version getestet. Diese NDK-Version wird zum Erstellen Ihrer Projekte verwendet, wenn Sie in der Datei build.gradle keine NDK-Version angeben. Die NDK-Standardversion für verschiedene Versionen von AGP ist in den Versionshinweisen zu AGP und in den früheren Versionshinweisen von AGP dokumentiert.