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 e puoi invece gestire i pacchetti SDK dall'IDE.

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

  1. Scarica il pacchetto "solo strumenti a riga di comando" più recente dalla pagina dei download di Android Studio e scompattalo.
  2. Sposta la directory cmdline-tools decompressa in una nuova directory a tua scelta, ad esempio android_sdk. Questa nuova directory è la directory dell'SDK Android.
  3. Nella directory cmdline-tools non compressa, crea una sottodirectory denominata latest.
  4. Sposta i contenuti della directory cmdline-tools originale, tra cui la directory lib, la directory bin, il file NOTICE.txt e il file source.properties, nella directory latest appena creata. Ora da questa posizione puoi usare gli strumenti a riga di comando.
  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 da installare, ad esempio 5.0.

Utilizzo

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

Elenca 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 di un canale fino al giorno channel_id incluso. Ad esempio, specifica il canale canary per elencare i pacchetti di tutti i canali.

Installa 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;34.0.0" o "platforms;android-33".

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

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

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

sdkmanager --package_file=package_file [options]

L'argomento package_file è la posizione 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 l'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 su 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

Aggiorna 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 si tratta di un server CI o di un altro dispositivo Linux headless senza una GUI installata, procedi nel seguente modo dalla riga di comando:

sdkmanager --licenses

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

Opzioni

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

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

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

--include_obsolete Includi i pacchetti obsoleti nella scheda del pacchetto o negli aggiornamenti del pacchetto. Da utilizzare solo con --list e --update.
--no_https Forzare tutte le connessioni a utilizzare HTTP anziché HTTPS.
--newer Con --list, puoi mostrare solo 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.