sdkmanager

sdkmanager è uno strumento a riga di comando che consente di visualizzare, installare, aggiornare e disinstallare i pacchetti per l'SDK Android. Se utilizzi Android Studio, non devi utilizzare questo strumento, ma puoi invece gestire i pacchetti SDK dall'IDE.

Lo strumento sdkmanager è disponibile nel pacchetto Strumenti a riga di comando di SDK Android. Per utilizzare SDK Manager per installare una versione degli strumenti a riga di comando:

  1. Scarica l'ultimo pacchetto di strumenti a riga di comando dalla pagina di Android Studio ed estrailo.
  2. Sposta la directory cmdline-tools decompressa in una nuova directory a tua scelta, ad esempio android_sdk. Questa nuova directory è la directory di SDK Android.
  3. Nella directory cmdline-tools decompressa, crea una sottodirectory denominata latest.
  4. Sposta i contenuti della directory cmdline-tools originale, inclusi la directory lib, la directory bin, il file NOTICE.txt e il file source.properties, nella directory latest appena creata. Ora puoi utilizzare gli strumenti a riga di comando da questa posizione.
  5. (Facoltativo) Per installare una versione precedente degli strumenti a riga di comando, esegui il seguente comando:

    android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
    
    Sostituisci version con la versione che vuoi installare, ad esempio 5.0.

Utilizzo

Puoi utilizzare sdkmanager per elencare i pacchetti installati e disponibili, installare i pacchetti e aggiornarli. Per ulteriori informazioni, consulta le sezioni seguenti.

Elencare i pacchetti installati e disponibili

Per elencare i pacchetti installati e disponibili, utilizza la seguente sintassi:

sdkmanager --list [options] \
           [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)

Utilizza l'opzione channel per includere un pacchetto da un canale fino a e incluso channel_id. Ad esempio, specifica il canale Canary per elencare i pacchetti di tutti i canali.

Installare i pacchetti

Per installare i pacchetti, utilizza la seguente sintassi:

sdkmanager packages [options]

L'argomento packages è un percorso in stile SDK, come mostrato con il comando --list, racchiuso tra virgolette. Ad esempio, "build-tools;36.0.0" o "platforms;android-36".

Puoi passare più percorsi di pacchetti, separati da uno spazio, ma ognuno deve essere racchiuso tra virgolette. Ad esempio, ecco come installare gli ultimi strumenti della piattaforma e gli strumenti SDK per il livello API 36:

sdkmanager "platform-tools" "platforms;android-36"

In alternativa, puoi passare un file di testo che specifica tutti i pacchetti:

sdkmanager --package_file=package_file [options]

L'argomento package_file è il percorso di un file di testo in cui ogni riga è un percorso in stile SDK di un pacchetto da installare (senza virgolette).

Per disinstallare, aggiungi il flag --uninstall:

sdkmanager --uninstall packages [options]
sdkmanager --uninstall --package_file=package_file [options]

Per installare CMake o NDK, utilizza la seguente sintassi:

sdkmanager --install
           ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"]
           [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)

Ad esempio, utilizza il seguente comando per installare la versione NDK specificata, indipendentemente dal canale in cui si trova attualmente:

sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below)
sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake

Aggiornare tutti i pacchetti installati

Per aggiornare tutti i pacchetti installati, utilizza la seguente sintassi:

sdkmanager --update [options]

Accettare le licenze

Devi accettare la licenza necessaria per ogni pacchetto installato. Questo passaggio si verifica durante il flusso di installazione quando installi i pacchetti da Android Studio.

Se non hai installato Android Studio o se si tratta di un server CI o di un altro dispositivo Linux headless senza GUI installata, esegui i passaggi seguenti dalla riga di comando:

sdkmanager --licenses

Ti verrà chiesto di accettare le licenze che non sono ancora state accettate.

Opzioni

La tabella seguente elenca le opzioni disponibili per i comandi elencati nella sezione precedente:

Opzione Descrizione
--sdk_root=path Utilizza il percorso SDK specificato anziché l'SDK contenente questo strumento.
--channel=channel_id Includi i pacchetti nei canali fino a channel_id incluso. I canali disponibili sono:

0 (stabile), 1 (beta), 2 (Dev) e 3 (Canary).

--include_obsolete Includi i pacchetti obsoleti nell'elenco dei pacchetti o negli aggiornamenti dei pacchetti. Da utilizzare solo con --list e --update.
--no_https Forza tutte le connessioni a utilizzare HTTP anziché HTTPS.
--newer Con --list, mostra solo i pacchetti nuovi o aggiornabili.
--verbose Modalità di output dettagliata. Vengono stampati errori, avvisi e messaggi informativi.
--proxy={http | socks} Connettiti tramite un proxy del tipo specificato: http per protocolli di alto livello come HTTP o FTP oppure socks per un proxy SOCKS (V4 o V5).
--proxy_host={IP_address | DNS_address} Indirizzo IP o DNS del proxy da utilizzare.
--proxy_port=port_number Numero di porta del proxy a cui connettersi.