Installare e configurare NDK e CMake

Per compilare ed eseguire il debug del codice nativo per la tua app, devi disporre dei seguenti componenti:

  • Android Native Development Kit (NDK), un insieme di strumenti che ti consente di: usano 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 usare 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.

In questa pagina viene descritto come installare questi componenti automaticamente, oppure utilizzando Android Studio o lo strumento sdkmanager per scaricarli e installarli manualmente.

Installare NDK e CMake automaticamente

Il plug-in Android Gradle 4.2.0+ può installare automaticamente NDK e CMake necessari la prima volta che crei il progetto, se le relative licenze sono state accettate in anticipo. Se hai già letto e accettato i termini di licenza, puoi pre-accettare 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 ha bisogno di una o più versioni specifiche dell'NDK, 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 nel Directory android-sdk/ndk/.

Per installare CMake e l'NDK predefinito in Android Studio, 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 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 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. Correggi gli eventuali errori che si verificano.

Configurare una versione specifica di CMake

SDK Manager include la versione 3.6.0 creata con fork di CMake e versione 3.10.2. Progetti che non impostano un versioni specifiche di CMake sono create con CMake 3.10.2. A Imposta la versione 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 CMake che non è inclusa nel SDK Manager, segui questi passaggi:

  1. Scarica e installa CMake dal sito web ufficiale di CMake.
  2. Specifica la versione di CMake che Gradle deve utilizzare nel build.gradle.
  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.

Installa una versione specifica dell'NDK

Per installare una versione specifica dell'NDK, segui questi passaggi:

  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 del pacchetto.

  4. Seleziona la casella di controllo NDK (affiancata) e le caselle di controllo sottostanti che corrispondono alle versioni NDK che vuoi installare. Installazioni Android Studio tutte le versioni dell'NDK in android-sdk/ndk/ .

    Immagine della finestra SDK Tools Figura 2. La finestra SDK Tools (Strumenti SDK) che mostra il valore NDK (Side by side) opzioni

  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. Se usi Android Studio 3.6 o versioni successive, specifica la versione, il plug-in Android Gradle sceglie una versione con cui è noto che sia compatibile.

Configura versioni specifiche dell'NDK nel tuo progetto

Potresti dover configurare la versione dell'NDK nel tuo progetto se uno dei che segue è vero:

  • Il tuo progetto viene ereditato e devi utilizzare versioni specifiche dell'NDK e il plug-in Android Gradle (AGP). Per ulteriori informazioni, vedi Configura l'NDK per il plug-in Android Gradle.
  • Hai installato più versioni dell'NDK e vuoi utilizzare una specifica uno. 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 creare i progetti non specificare una versione NDK nel file build.gradle. Versione NDK predefinita per diverse versioni di AGP sono documentati note di rilascio di AGP e Note di rilascio precedenti di AGP.