Inizia a utilizzare NDK

Il Native Development Kit (NDK) è un insieme di strumenti che consentono di utilizzare il codice C e C++ con Android e fornisce librerie di piattaforma che puoi usare per gestire le attività native e accedere ai componenti fisici dei dispositivi, come sensori e input tocco. L'NDK potrebbe non essere appropriato per la maggior parte dei programmatori Android alle prime armi che devono utilizzare solo API framework e codice Java per sviluppare le proprie app. Tuttavia, l'NDK può essere utile nei casi in cui devi eseguire una o più delle seguenti operazioni:

  • Sfrutta prestazioni extra da un dispositivo per ottenere una bassa latenza o esegui applicazioni con elevata intensità di calcolo, come giochi o simulazioni di fisica.
  • Riutilizza le tue librerie C o C++ tue o di altri sviluppatori.

Con Android Studio 2.2 e versioni successive, puoi utilizzare l'NDK per compilare il codice C e C++ in una libreria nativa e pacchettizzarlo nel tuo APK utilizzando Gradle, il sistema di compilazione integrato dell'IDE. Il codice Java può quindi chiamare funzioni nella tua libreria nativa tramite il framework JNI (Java Native Interface). Per scoprire di più su Gradle e sul sistema di build Android, consulta l'articolo Configura la tua build.

Lo strumento di creazione predefinito di Android Studio per compilare le librerie native è CMake. Android Studio supporta anche ndk-build a causa dell'elevato numero di progetti esistenti che utilizzano il toolkit di build. Tuttavia, se stai creando una nuova libreria nativa, devi utilizzare CMake.

Questa guida fornisce le informazioni necessarie per iniziare a utilizzare NDK su Android Studio. Se non hai la versione più recente di Android Studio, scaricala e installala ora.

Attenzione agli utenti Gradle sperimentali: valuta la possibilità di eseguire la migrazione alla versione del plug-in 2.2.0 o versioni successive e di utilizzare CMake o ndk-build per creare le tue librerie native se una delle seguenti condizioni si applica al tuo caso: il tuo progetto nativo utilizza già CMake o ndk-build; preferisci utilizzare una versione stabile del sistema di compilazione Gradle oppure vuoi il supporto per strumenti aggiuntivi, come CCache. In caso contrario, puoi continuare a utilizzare la versione sperimentale di Gradle e il plug-in Android.

Scarica NDK e strumenti

Per compilare il codice nativo dell'app ed eseguirne il debug, devi avere i seguenti componenti:

  • Il Native Development Kit (NDK) per Android: un insieme di strumenti che consentono di usare il codice C e C++ con Android.
  • CMake: uno strumento di creazione esterno che funziona insieme a Gradle per creare la tua libreria nativa. Questo componente non è necessario se prevedi di utilizzare solo ndk-build.
  • LLDB: il debugger utilizzato da Android Studio per eseguire il debug del codice nativo.

Per informazioni sull'installazione di questi componenti, consulta Installare e configurare NDK e CMake.

Creare o importare un progetto nativo

Dopo aver configurato Android Studio, puoi semplicemente creare un nuovo progetto con l'assistenza di C/C++. Tuttavia, se vuoi aggiungere o importare codice nativo in un progetto Android Studio esistente, devi seguire questa procedura di base:

  1. Crea nuovi file di origine nativi e aggiungili al tuo progetto Android Studio.
    • Puoi saltare questo passaggio se hai già del codice nativo o vuoi importare una libreria nativa predefinita.
  2. Crea uno script di build CMake per indicare a CMake come creare le tue origini native in una libreria. Hai bisogno di questo script di build anche se esegui l'importazione e il collegamento su librerie predefinite o di piattaforma.
    • Puoi saltare questo passaggio se la tua libreria nativa esistente ha già uno script di build CMakeLists.txt oppure utilizza ndk-build e include uno script di build Android.mk.
  3. Collega Gradle alla tua libreria nativa fornendo un percorso al file di script CMake o ndk-build. Gradle utilizza lo script di build per importare il codice sorgente nel progetto Android Studio e pacchettizzare la tua libreria nativa (il file SO) nell'APK.

    Nota: se il tuo progetto esistente utilizza lo strumento ndkCompile deprecato, devi aprire il file build.properties e rimuovere la seguente riga di codice prima di configurare Gradle per l'utilizzo di CMake o ndk-build:

    // Remove this line
    android.useDeprecatedNdk = true
    
  4. Crea ed esegui la tua app facendo clic su Esegui esegui ed esegui app dal menu principale. Gradle aggiunge il processo CMake o ndk-build come dipendenza per compilare, creare e pacchettizzare la tua libreria nativa con il tuo APK.

Quando l'app è in esecuzione su un dispositivo fisico o tramite l'emulatore, puoi utilizzare Android Studio per eseguire il debug dell'app. In caso contrario, per scoprire di più sull'NDK e sui suoi componenti, leggi la pagina Concetti.