Installare e configurare NDK e CMake

Per compilare e eseguire il debug del codice nativo per la tua app, hai bisogno dei seguenti componenti:

  • Il Native Development Kit (NDK) per Android: un insieme di strumenti che ti consente di usare il codice C e C++ con Android.
  • CMake: uno strumento di creazione esterno che funziona insieme a Gradle per creare libreria. 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 impostazione predefinita, verrà installato insieme ad Android Studio.

Questa pagina descrive come installare questi componenti automaticamente o utilizzando Android Studio o lo strumento sdkmanager per scaricarli e installarli manualmente.

Installare NDK e CMake automaticamente

Il plug-in Android per Gradle 4.2.0 e versioni successive può installare automaticamente NDK e CMake necessari la prima volta che compili il progetto se le relative licenze sono state accettate in anticipo. Se hai già letto e accetti i termini della licenza, puoi preaccettare le licenze negli script con il seguente comando:

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

Installa NDK e CMake

Quando installi l'NDK, Android Studio seleziona l'NDK più recente disponibile. Per nella maggior parte dei progetti, è sufficiente installare questa versione predefinita dell'NDK. Tuttavia, se il tuo progetto richiede una o più versioni specifiche dell'NDK, puoi scaricare e configurare versioni specifiche. Ciò aiuta garantisci build riproducibili tra progetti, ognuno dei quali dipende da una specifica versione dell'NDK. Android Studio installa tutte le versioni dell'NDK nella directoryandroid-sdk/ndk/.

Per installare CMake e l'NDK predefinito in Android Studio:

  1. Con un progetto aperto, fai clic su Strumenti > Gestore SDK.

  2. Fai clic sulla scheda Strumenti SDK.

  3. Seleziona le caselle di controllo NDK (Side by side) e CMake.

    Immagine di SDK Manager Figura 1. La finestra SDK Tools (Strumenti SDK) che mostra il valore NDK (Side by side) opzione

  4. Fai clic su OK.

    Una finestra di dialogo indica la quantità di spazio occupata dal pacchetto NDK sul disco.

  5. Fai clic su OK.

  6. Al termine dell'installazione, fai clic su Fine.

  7. Il progetto sincronizza automaticamente il file di compilazione ed esegue una compilazione. Correggi gli eventuali errori che si verificano.

Configura una versione specifica di CMake

SDK Manager include la versione forkata 3.6.0 di CMake e la versione 3.10.2. Progetti che non impostano un versioni specifiche di CMake sono create con CMake 3.10.2. Per impostare la versione di CMake, aggiungi quanto segue al file build.gradle del modulo:

Alla moda

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

Kotlin

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

Se vuoi utilizzare una versione di CMake non inclusa da SDK Manager:

  1. Scarica e installa CMake dal sito web ufficiale di CMake.
  2. Specifica la versione di CMake che vuoi che Gradle utilizzi nel file build.gradle del tuo modulo.
  3. Aggiungi il percorso dell'installazione di CMake nel tuo ambiente PATH o includila nel file local.properties del tuo progetto, come come mostrato nell'immagine. Se Gradle non riesce a trovare la versione di CMake specificata in il file build.gradle, ricevi un errore di generazione.

    # If you set this property, Gradle no longer uses PATH to find CMake.
    cmake.dir = "path-to-cmake"</pre>
    
  4. Se non hai già installato il sistema di build Ninja sul tuo workstation, visita il sito web ufficiale di Ninja e scarica e installa l'ultima versione di Ninja disponibile per il tuo sistema operativo. Assicurati di aggiungere anche il percorso dell'installazione di Ninja al tuo PATH variabile di ambiente.

Installare una versione specifica dell'NDK

Per installare una versione specifica del NDK:

  1. Con un progetto aperto, fai clic su Strumenti > Gestore SDK.

  2. Fai clic sulla scheda SDK Tools (Strumenti SDK).

  3. Seleziona la casella di controllo Mostra dettagli del pacchetto.

  4. Seleziona la casella di controllo NDK (contemporaneamente) e le caselle di controllo sottostanti corrispondenti alle versioni NDK che vuoi installare. Android Studio installa tutte le versioni dell'NDK nella directory android-sdk/ndk/.

    Immagine della finestra SDK Tools Figura 2. La finestra Strumenti SDK che mostra le opzioni NDK (contenuto affiancato)

  5. Fai clic su OK.

    Una finestra di dialogo indica la quantità di spazio utilizzata dai pacchetti NDK.

  6. Fai clic su OK.

  7. Al termine dell'installazione, fai clic su Fine.

  8. Il progetto sincronizza automaticamente il file di build ed esegue una build. Correggi gli eventuali errori che si verificano.

  9. Configura ogni modulo con la versione dell'NDK che vuoi utilizzare. Quando utilizzi Android Studio 3.6 o versioni successive, se non specifichi la versione, il plug-in Gradle per Android sceglie una versione nota per essere compatibile.

Configura versioni specifiche dell'NDK nel tuo progetto

Potresti dover configurare la versione dell'NDK nel tuo progetto se una delle seguenti condizioni è vera:

  • Il tuo progetto viene ereditato e devi utilizzare versioni specifiche dell'NDK e il plug-in Android Gradle (AGP). Per ulteriori informazioni, consulta Configurare l'NDK per il plug-in Android Gradle.
  • Hai installato più versioni dell'NDK e vuoi utilizzarne una specifica. In questo caso, specifica la versione utilizzando android.ndkVersion nel file build.gradle del modulo, come mostrato nel seguente codice campione.

    Alla moda

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

    Kotlin

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

Versione NDK predefinita per versione AGP

Prima del rilascio, ogni versione AGP viene testata accuratamente con l'ultima versione stabile NDK in quel momento. Questa versione NDK viene utilizzata per compilare i progetti se non specifichi una versione NDK nel file build.gradle. La versione NDK predefinita per le diverse versioni di AGP è documentata nelle note di rilascio di AGP e nelle note di rilascio precedenti di AGP.