Erste Schritte mit dem NDK

Das Native Development Kit (NDK) besteht aus einer Reihe von Tools, mit denen Sie C- und C++-Code mit Android verwenden können, sowie Plattformbibliotheken, mit denen Sie native Aktivitäten verwalten und auf physische Gerätekomponenten wie Sensoren und Touch-Eingabe zugreifen können. Das NDK ist möglicherweise nicht für die meisten Android-Programmierer geeignet, die für die Entwicklung ihrer Apps nur Java-Code und Framework-APIs verwenden müssen. Der NDK kann jedoch in Fällen nützlich sein, in denen eine oder mehrere der folgenden Aktionen ausgeführt werden müssen:

  • Profitieren Sie von zusätzlicher Leistungsfähigkeit eines Geräts, um eine niedrige Latenz zu erreichen oder rechenintensive Anwendungen wie Spiele oder Physiksimulationen auszuführen.
  • Verwenden Sie Ihre eigenen C- oder C++-Bibliotheken oder die anderer Entwickler.

Wenn Sie Android Studio 2.2 und höher verwenden, können Sie den NDK verwenden, um C- und C++-Code in eine native Bibliothek zu kompilieren und ihn mithilfe von Gradle, dem integrierten Build-System der IDE, in Ihr APK zu verpacken. Ihr Java-Code kann dann Funktionen in Ihrer nativen Bibliothek über das Framework Java Native Interface (JNI) aufrufen. Weitere Informationen zu Gradle und dem Android-Build-System finden Sie unter Build konfigurieren.

Das Standard-Build-Tool von Android Studio zum Kompilieren nativer Bibliotheken ist CMake. Android Studio unterstützt aufgrund der großen Anzahl vorhandener Projekte, die das Build-Toolkit verwenden, auch ndk-build. Wenn Sie jedoch eine neue native Bibliothek erstellen, sollten Sie CMake verwenden.

In diesem Leitfaden findest du alle Informationen, die du für die Einrichtung des NDK in Android Studio benötigst. Wenn du noch nicht die neueste Version von Android Studio hast, lade sie jetzt herunter und installiere sie.

Hinweis für experimentelle Gradle-Nutzer:Sie können zu Plug-in-Version 2.2.0 oder höher migrieren und native Bibliotheken mit CMake oder ndk-build erstellen, wenn einer der folgenden Punkte auf Sie zutrifft: Ihr natives Projekt verwendet bereits CMake oder ndk-build. Sie sollten lieber eine stabile Version des Gradle-Build-Systems verwenden oder Sie benötigen Unterstützung für Add-on-Tools wie C. Ansonsten können Sie weiterhin die experimentelle Version von Gradle und das Android-Plug-in verwenden.

NDK und Tools herunterladen

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 du C- und C++-Code mit Android verwenden kannst.
  • 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 von Android Studio verwendete Debugger zur Fehlerbehebung von nativem Code

Informationen zum Installieren dieser Komponenten finden Sie unter NDK und CMake installieren und konfigurieren.

Natives Projekt erstellen oder importieren

Wenn Sie Android Studio eingerichtet haben, können Sie einfach ein neues Projekt mit C/C++-Unterstützung erstellen. Wenn Sie jedoch nativen Code in ein bestehendes Android Studio-Projekt einfügen oder importieren möchten, müssen Sie so vorgehen:

  1. Erstellen Sie neue native Quelldateien und fügen Sie sie Ihrem Android Studio-Projekt hinzu.
    • Sie können diesen Schritt überspringen, wenn Sie bereits nativen Code haben oder eine vordefinierte native Bibliothek importieren möchten.
  2. Erstellen Sie ein Build-Script für CMake, um CMake mitzuteilen, wie Ihre nativen Quellen in einer Bibliothek erstellt werden sollen. Außerdem benötigen Sie dieses Build-Skript auch, wenn Sie vordefinierte oder Plattformbibliotheken importieren und verknüpfen möchten.
    • Sie können diesen Schritt überspringen, wenn Ihre vorhandene native Bibliothek bereits ein Build-Script CMakeLists.txt hat oder „ndk-build“ verwendet und ein Build-Script Android.mk enthält.
  3. Verknüpfen Sie Gradle mit Ihrer nativen Bibliothek, indem Sie einen Pfad zu Ihrer CMake- oder ndk-build-Skriptdatei angeben. Gradle verwendet das Build-Skript, um Quellcode in Ihr Android Studio-Projekt zu importieren und Ihre native Bibliothek (die SO-Datei) im APK zu verpacken.

    Hinweis:Wenn in Ihrem vorhandenen Projekt das eingestellte ndkCompile-Tool verwendet wird, sollten Sie die Datei build.properties öffnen und die folgende Codezeile entfernen, bevor Sie Gradle für die Verwendung von CMake oder ndk-build konfigurieren:

    // Remove this line
    android.useDeprecatedNdk = true
    
  4. Erstellen Sie Ihre Anwendung und führen Sie sie aus. Klicken Sie dazu auf Ausführen ausführen und dann App über das Hauptmenü ausführen. Gradle fügt Ihren CMake- oder ndk-build-Prozess als Abhängigkeit hinzu, um Ihre native Bibliothek mit Ihrem APK zu kompilieren, zu erstellen und zu verpacken.

Sobald Ihre App auf einem physischen Gerät oder im Emulator ausgeführt wird, können Sie mit Android Studio Fehler in Ihrer App beheben. Weitere Informationen zum NDK und seinen Komponenten finden Sie auf der Seite Konzepte.