Installare e configurare NDK e CMake

Per compilare ed eseguire il debug del codice nativo dell'app, hai bisogno dei seguenti componenti:

  • Android Native Development Kit (NDK): una serie di strumenti che ti 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 il debug del codice nativo. Per impostazione predefinita, LLDB verrà installato insieme ad Android Studio.

In questa pagina viene descritto come installare automaticamente questi componenti oppure 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 o versioni successive può installare automaticamente gli NDK e CMake necessari la prima volta che crei il tuo progetto se le relative licenze sono state accettate in anticipo. Se hai già letto e accetti i termini di licenza, puoi pre-accettare le licenze negli script con il seguente comando:

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

Installare NDK e CMake

Quando installi l'NDK, Android Studio seleziona l'ultima versione disponibile. Per la maggior parte dei progetti, è sufficiente installare questa versione predefinita dell'NDK. Se il progetto richiede una o più versioni specifiche dell'NDK, tuttavia, puoi scaricare e configurare versioni specifiche. In questo modo puoi garantire build riproducibili in tutti i progetti che dipendono da una versione specifica dell'NDK. Android Studio installa tutte le versioni dell'NDK nella directory android-sdk/ndk/.

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

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

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

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

    Immagine di SDK Manager Figura 1. La finestra Strumenti SDK che mostra l'opzione NDK (Side by side)

  4. Fai clic su Ok.

    Viene visualizzata una finestra di dialogo che indica la quantità di spazio utilizzata dal pacchetto NDK su disco.

  5. Fai clic su Ok.

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

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

Configurare una versione specifica di CMake

SDK Manager include la versione 3.6.0 di CMake mediante fork e la versione 3.10.2. I progetti che non impostano una versione specifica di CMake vengono creati con CMake 3.10.2. Per impostare la versione di CMake, aggiungi quanto segue al file build.gradle del modulo:

trendy

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, segui questi passaggi:

  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 alla variabile di ambiente PATH o includilo nel file local.properties del tuo progetto, come mostrato. Se Gradle non riesce a trovare la versione di CMake specificata nel file build.gradle, viene visualizzato 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 sulla tua 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 del ninja alla tua variabile di ambiente PATH.

Installa una versione specifica dell'NDK

Per installare una versione specifica dell'NDK, procedi nel seguente modo:

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

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

  3. Seleziona la casella di controllo Mostra dettagli pacchetto.

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

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

  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. Risolvi 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 Android Gradle sceglie una versione con cui è noto che sia compatibile.

Configurare versioni specifiche dell'NDK nel progetto

Potrebbe essere necessario configurare la versione dell'NDK nel progetto se una delle seguenti condizioni è vera:

  • Il progetto viene ereditato e devi utilizzare versioni specifiche dell'NDK e del plug-in Android Gradle (AGP). Per ulteriori informazioni, consulta la pagina 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 la proprietà android.ndkVersion nel file build.gradle del modulo, come mostrato nel seguente esempio di codice.

    trendy

    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 release NDK stabile più recente. Questa versione NDK viene utilizzata per creare progetti se non specifichi una versione NDK nel file build.gradle. La versione predefinita di NDK per le diverse versioni di AGP è documentata nelle note di rilascio di AGP e nelle note di rilascio precedenti di AGP.