Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
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
utilizzare il codice C e C++ con Android.
CMake: uno strumento di compilazione esterno che funziona insieme a Gradle per compilare la libreria nativa. Non hai bisogno di questo componente se prevedi di utilizzare solo ndk-build.
LLDB: il debugger utilizzato da Android Studio per eseguire il debug del codice nativo. Per impostazione predefinita, LLDB
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 automaticamente NDK e CMake
Il plug-in Android per Gradle 4.2.0 e versioni successive può installare automaticamente NDK e CMake richiesti
la prima volta che compili 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:
Quando installi l'NDK, Android Studio seleziona l'NDK più recente disponibile. Per
la maggior parte dei progetti, l'installazione di questa versione predefinita dell'NDK è sufficiente.
Se il tuo progetto richiede una o più versioni specifiche dell'NDK, puoi
scaricare e configurare versioni specifiche. In questo modo, puoi assicurarti build riproducibili in 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:
Con un progetto aperto, fai clic su Strumenti > SDK Manager.
Fai clic sulla scheda SDK Tools (Strumenti SDK).
Seleziona le caselle di controllo NDK (Side by side) e CMake.
Figura 1. La finestra SDK Tools che mostra l'opzione NDK (Side by side)
Fai clic su OK.
Una finestra di dialogo indica la quantità di spazio su disco occupata dal pacchetto NDK.
Fai clic su OK.
Al termine dell'installazione, fai clic su Fine.
Il progetto sincronizza automaticamente il file di build ed esegue una build.
Risolvi eventuali errori che si verificano.
Configura una versione specifica di CMake
SDK Manager include la versione fork 3.6.0 di
CMake 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:
Se vuoi utilizzare una versione di CMake non inclusa in
SDK Manager, segui questi passaggi:
Scarica e installa CMake
dal sito web ufficiale di CMake.
Specifica la versione di CMake che vuoi che Gradle utilizzi nel file
build.gradle del modulo.
Aggiungi il percorso all'installazione di CMake alla variabile di ambiente PATH o includilo nel file local.properties del progetto, come mostrato. Se Gradle non riesce a trovare la versione di CMake specificata nel file build.gradle, viene visualizzato un errore di build.
# If you set this property, Gradle no longer uses PATH to find CMake.
cmake.dir = "path-to-cmake"</pre>
Se non hai già installato il sistema di compilazione Ninja sulla tua
workstation, vai al sito web ufficiale di Ninja,
scarica e installa l'ultima versione di Ninja disponibile per il tuo sistema operativo.
Assicurati di aggiungere anche il percorso dell'installazione di Ninja alla variabile di ambiente
PATH.
Installare una versione specifica dell'NDK
Per installare una versione specifica dell'NDK:
Con un progetto aperto, fai clic su Strumenti > SDK Manager.
Fai clic sulla scheda SDK Tools (Strumenti SDK).
Seleziona la casella di controllo Mostra dettagli pacchetto.
Seleziona la casella di controllo NDK (Side by side) e le caselle di controllo sottostanti che
corrispondono alle versioni dell'NDK che vuoi installare. Android Studio installa
tutte le versioni dell'NDK nella directory android-sdk/ndk/.
Figura 2. La finestra SDK Tools che mostra le opzioni NDK (Side by side)
Fai clic su OK.
Una finestra di dialogo indica la quantità di spazio occupata dai pacchetti NDK.
Fai clic su OK.
Al termine dell'installazione, fai clic su Fine.
Il progetto sincronizza automaticamente il file di build ed esegue una build.
Risolvi eventuali errori che si verificano.
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 nota per essere
compatibile.
Configurare versioni specifiche dell'NDK nel progetto
Potresti dover configurare la versione dell'NDK nel tuo progetto se si verifica una delle
seguenti condizioni:
Il tuo progetto è ereditato e devi utilizzare versioni specifiche dell'NDK
e del plug-in Android Gradle (AGP). Per ulteriori informazioni, vedi
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.
Prima del rilascio, ogni versione di AGP viene testata a fondo con l'ultima release stabile dell'NDK
disponibile in quel momento. Questa versione dell'NDK viene utilizzata per creare i tuoi progetti se non specifichi una versione dell'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.
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.
Ultimo aggiornamento 2025-08-27 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-27 UTC."],[],[],null,["To compile and debug native code for your app, you need the following components:\n\n- The Android Native Development Kit (NDK): a set of tools that allows you to use C and C++ code with Android.\n- CMake: an external build tool that works alongside Gradle to build your native library. You do not need this component if you only plan to use ndk-build.\n- LLDB: the debugger Android Studio uses to debug native code. By default, LLDB will be installed alongside Android Studio.\n\nThis page describes how to install these components automatically, or by using\nAndroid Studio or the `sdkmanager` tool to download and install them manually.\n\nInstall NDK and CMake automatically\n\nAndroid Gradle Plugin 4.2.0+ can automatically install the required NDK and CMake\nthe first time you build your project if their licenses have been accepted in advance.\nIf you've already read and agree to the license terms, then you can pre-accept\nthe licenses in scripts with the following command: \n\n yes | ${sdk}/cmdline-tools/latest/bin/sdkmanager --licenses\n\nInstall the NDK and CMake\n\nWhen you install the NDK, Android Studio selects the latest available NDK. For\nmost projects, installing this default version of the NDK is sufficient.\nIf your project needs one or more specific versions of the NDK, though, you can\n[download and configure specific versions](#specific-version). Doing so helps\nyou ensure reproducible builds across projects that each depend on a specific\nversion of the NDK. Android Studio installs all versions of the NDK in the\n\u003cvar translate=\"no\"\u003eandroid-sdk\u003c/var\u003e`/ndk/` directory.\n\nTo install CMake and the default NDK in Android Studio, do the following:\n\n1. With a project open, click **Tools \\\u003e SDK Manager**.\n\n2. Click the **SDK Tools** tab.\n\n3. Select the **NDK (Side by side)** and **CMake** checkboxes.\n\n\n **Figure 1.** The **SDK Tools** window showing the **NDK (Side by side)**\n option\n | **Note:** If you have an NDK installed in the `ndk-bundle` folder, it appears in the list with the label **NDK** . If you are using Android Gradle plugin 3.5.0 or later, you can select this checkbox or clear it. Clearing the checkbox uninstalls the NDK, freeing up disk space, and causes the checkbox to disappear from the list. If you uninstall the legacy NDK, remove the `ndk.dir` value, which is now deprecated, from your projects' `local.properties` files.\n4. Click **OK**.\n\n A dialog box tells you how much space the NDK package consumes on disk.\n5. Click **OK**.\n\n6. When the installation is complete, click **Finish**.\n\n7. Your project automatically syncs the build file and performs a build.\n Resolve any errors that occur.\n\nConfigure a specific version of CMake\n\nThe SDK Manager includes the 3.6.0 forked version of\nCMake and version 3.10.2. Projects that don't set a\nspecific CMake version are built with CMake 3.10.2. To\nset the CMake version, add the following to your module's `build.gradle` file: \n\nGroovy \n\n```groovy\nandroid {\n ...\n externalNativeBuild {\n cmake {\n ...\n version \"\u003cvar translate=\"no\"\u003ecmake-version\u003c/var\u003e\"\n }\n }\n}\n```\n\nKotlin \n\n```kotlin\nandroid {\n ...\n externalNativeBuild {\n cmake {\n ...\n version = \"\u003cvar translate=\"no\"\u003ecmake-version\u003c/var\u003e\"\n }\n }\n}\n```\n\nIf you want to use a CMake version that is not included by the\nSDK Manager, follow these steps:\n\n1. Download and install [CMake](https://cmake.org/download/) from the official CMake website.\n2. Specify the CMake version you want Gradle to use in your module's `build.gradle` file.\n3. Either add the path to the CMake installation to your `PATH` environment\n variable or include it in your project's `local.properties` file, as\n shown. If Gradle is unable to find the version of CMake you specified in\n your `build.gradle` file, you get a build error.\n\n # If you set this property, Gradle no longer uses PATH to find CMake.\n cmake.dir = \"\u003cvar translate=\"no\"\u003epath-to-cmake\u003c/var\u003e\"\u003c/pre\u003e\n\n4. If you don't already have the Ninja build system installed on your\n workstation, go to the [official Ninja website](https://ninja-build.org/),\n and download and install the latest version of Ninja available for your OS.\n Make sure to also add the path to the Ninja installation to your\n `PATH` environment variable.\n\nInstall a specific version of the NDK\n\nTo install a specific version of the NDK, do the following:\n\n1. With a project open, click **Tools \\\u003e SDK Manager**.\n\n2. Click the **SDK Tools** tab.\n\n3. Select the **Show Package Details** checkbox.\n\n4. Select the **NDK (Side by side)** checkbox and the checkboxes below it that\n correspond to the NDK versions you want to install. Android Studio installs\n all versions of the NDK in the \u003cvar translate=\"no\"\u003eandroid-sdk\u003c/var\u003e`/ndk/`\n directory.\n\n | **Note:** Preview releases (for example, canary and beta) of the NDK do not show up in this list unless you [change the update channel](/studio/preview/install-preview#change_your_update_channel) for Android Studio. You can [install an Android Studio preview](/studio/preview/install-preview) side-by-side with the stable version.\n\n\n **Figure 2.** The **SDK Tools** window showing the **NDK (Side by side)**\n options\n | **Note:** If you have an NDK installed in the `ndk-bundle` folder, it appears in the list with the label **NDK** . If you are using Gradle version 3.5 or later, you can select this checkbox or clear it. Clearing it uninstalls the NDK installed, freeing up disk space, and cause the checkbox to disappear from the list. If you uninstall the legacy NDK, remove the `ndk.dir` value, which is now deprecated, from your projects' `local.properties` files.\n5. Click **OK**.\n\n A dialog box tells you how much space the NDK package(s) consumes.\n6. Click **OK**.\n\n7. When the installation is complete, click **Finish**.\n\n8. Your project automatically syncs the build file and performs a build.\n Resolve any errors that occur.\n\n9. [Configure each module](#apply-specific-version) with the version of the NDK\n you want it to use. When using Android Studio 3.6 or higher, if you do not\n specify the version, the Android Gradle plugin chooses a version that it is\n known to be compatible with.\n\nConfigure specific versions of the NDK in your project\n\nYou may need to configure the version of the NDK in your project if one of the\nfollowing is true:\n\n- Your project is inherited and you need to use specific versions of the NDK and the Android Gradle plugin (AGP). For more information, see [Configure the NDK for the Android Gradle plugin](/studio/projects/configure-agp-ndk).\n- You have multiple versions of the NDK installed and you want to use a specific\n one. In this case, specify the version using the `android.ndkVersion`\n property in the module's `build.gradle` file, as shown in the following code\n sample.\n\n Groovy \n\n ```groovy\n android {\n ndkVersion \"\u003cvar translate=\"no\"\u003emajor\u003c/var\u003e.\u003cvar translate=\"no\"\u003eminor\u003c/var\u003e.\u003cvar translate=\"no\"\u003ebuild\u003c/var\u003e\" // e.g., ndkVersion \"21.3.6528147\"\n }\n ```\n\n Kotlin \n\n ```kotlin\n android {\n ndkVersion = \"\u003cvar translate=\"no\"\u003emajor\u003c/var\u003e.\u003cvar translate=\"no\"\u003eminor\u003c/var\u003e.\u003cvar translate=\"no\"\u003ebuild\u003c/var\u003e\" // e.g., ndkVersion \"21.3.6528147\"\n }\n ```\n\nDefault NDK version per AGP version\n\nBefore release, each AGP version is thoroughly tested with the latest stable NDK\nrelease at that time. This NDK version is used to build your projects if you\ndon't specify an NDK version in the `build.gradle` file. The default NDK version\nfor different versions of AGP are documented in the\n[AGP release notes](/build/releases/gradle-plugin#compatibility) and\n[AGP past release notes](/build/releases/past-releases)."]]