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 zum Erstellen Ihrer nativen Bibliothek verwendet wird. Sie benötigen diese Komponente nicht, wenn Sie nur „ndk-build“ verwenden möchten.
- LLDB: Der Debugger, den Android Studio zum Debuggen von nativem Code verwendet. LLDB wird standardmäßig zusammen mit Android Studio installiert.
Auf dieser Seite wird beschrieben, wie Sie diese Komponenten automatisch oder manuell mit Android Studio oder dem sdkmanager
-Tool herunterladen und 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 Sie Ihr Projekt zum ersten Mal erstellen und die entsprechenden Lizenzen vorab akzeptiert wurden. Wenn Sie die Lizenzbedingungen bereits gelesen haben und ihnen zustimmen, können Sie die Lizenzen in Skripts mit dem folgenden Befehl vorab akzeptieren:
yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses
NDK und CMake installieren
Wenn Sie das NDK installieren, wählt Android Studio das neueste verfügbare NDK aus. Für die meisten Projekte reicht die Installation dieser Standardversion des NDK aus.
Wenn für Ihr Projekt jedoch 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 erstellen, die jeweils von einer bestimmten Version des NDK abhängen. Android Studio installiert alle Versionen des NDK im Verzeichnis android-sdk/ndk/
.
So installieren Sie CMake und das Standard-NDK in Android Studio:
Klicken Sie bei geöffnetem Projekt auf Tools > SDK Manager.
Klicke auf den Tab SDK Tools.
Klicken Sie die Kästchen NDK (Side by side) und CMake an.
Abbildung 1. Das Fenster SDK Tools mit der Option NDK (Side by side)
Klicken Sie auf OK.
In einem Dialogfeld wird angezeigt, wie viel Speicherplatz das NDK-Paket auf der Festplatte belegt.
Klicken Sie auf OK.
Klicken Sie nach Abschluss der Installation auf Fertigstellen.
Ihr Projekt synchronisiert die Build-Datei automatisch und führt einen Build aus. Beheben Sie alle auftretenden Fehler.
Bestimmte Version von CMake konfigurieren
Der SDK Manager enthält die geforkte 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 enthalten ist, gehen Sie so vor:
- Laden Sie CMake von der offiziellen CMake-Website herunter und installieren Sie es.
- Geben Sie in der Datei
build.gradle
Ihres Moduls die CMake-Version an, die von Gradle verwendet werden soll. Fügen Sie entweder den Pfad zur CMake-Installation der Umgebungsvariablen
PATH
hinzu oder fügen Sie ihn in die Dateilocal.properties
Ihres Projekts ein, wie unten gezeigt. Wenn Gradle die in der Dateibuild.gradle
angegebene Version von CMake nicht finden kann, erhalten Sie einen Build-Fehler.# If you set this property, Gradle no longer uses PATH to find CMake. cmake.dir = "path-to-cmake"</pre>
Wenn Sie das Ninja-Build-System noch nicht auf Ihrer Workstation installiert haben, 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 Umgebungsvariable
PATH
auch den Pfad zur Ninja-Installation hinzu.
Bestimmte Version des NDK installieren
So installieren Sie eine bestimmte Version des NDK:
Klicken Sie bei geöffnetem Projekt auf Tools > SDK Manager.
Klicke auf den Tab SDK Tools.
Aktivieren Sie das Kästchen Paketdetails anzeigen.
Aktivieren Sie 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
installieren.android-sdk/ndk/
.Abbildung 2. Das Fenster SDK Tools mit den Optionen für NDK (Side by side)
Klicken Sie auf OK.
In einem Dialogfeld wird angezeigt, wie viel Speicherplatz das NDK-Paket bzw. die NDK-Pakete belegen.
Klicken Sie auf OK.
Klicken Sie nach Abschluss der Installation auf Fertigstellen.
Ihr Projekt synchronisiert die Build-Datei automatisch und führt einen Build aus. Beheben Sie alle auftretenden Fehler.
Konfigurieren Sie jedes Modul mit der Version des NDK, die es verwenden soll. 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 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 Version verwenden. Geben Sie in diesem Fall die Version mit dem Attribut
android.ndkVersion
in der Dateibuild.gradle
des Moduls an, wie im folgenden Codebeispiel gezeigt.Groovy
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 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 Standard-NDK-Version für verschiedene Versionen von AGP ist in den AGP-Versionshinweisen und früheren AGP-Versionshinweisen dokumentiert.