sdkmanager

sdkmanager est un outil de ligne de commande qui vous permet d'afficher, d'installer, de mettre à jour et de désinstaller des packages pour le SDK Android. Avec Android Studio, vous n'avez pas besoin d'utiliser cet outil. À la place, vous pouvez gérer vos packages SDK depuis l'IDE.

L'outil sdkmanager est fourni dans le package d'outils de ligne de commande du SDK Android. Pour installer une version des outils de ligne de commande à l'aide du SDK Manager :

  1. Téléchargez le dernier package d'outils de ligne de commande sur la page Android Studio, puis extrayez-le.
  2. Déplacez le répertoire cmdline-tools décompressé dans un nouveau répertoire de votre choix, par exemple android_sdk. Ce nouveau répertoire est votre répertoire SDK Android.
  3. Dans le répertoire cmdline-tools décompressé, créez un sous-répertoire appelé latest.
  4. Déplacez le contenu du répertoire cmdline-tools d'origine, y compris le répertoire lib, le répertoire bin, le fichier NOTICE.txt et le fichier source.properties, vers le nouveau répertoire latest. Vous pouvez désormais utiliser les outils de ligne de commande à partir de cet emplacement.
  5. (Facultatif) Pour installer une version précédente des outils de ligne de commande, exécutez la commande suivante :

    android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
    
    Remplacez version par la version que vous souhaitez installer, par exemple 5.0.

Utilisation

Vous pouvez utiliser sdkmanager pour lister les packages installés et disponibles, les installer et les mettre à jour. Pour en savoir plus, consultez les sections suivantes.

Lister les packages installés et disponibles

Pour lister les packages installés et disponibles, utilisez la syntaxe suivante :

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

Utilisez l'option channel pour inclure un package d'un canal jusqu'à channel_id (inclus). Par exemple, spécifiez le canal Canary pour lister les packages de tous les canaux.

Installer des packages

Pour installer des packages, utilisez la syntaxe suivante :

sdkmanager packages [options]

L'argument packages est un chemin d'accès de type SDK, comme indiqué par la commande --list, entre guillemets. Exemples : "build-tools;34.0.0" ou "platforms;android-33".

Vous pouvez transmettre plusieurs chemins d'accès au package, séparés par un espace, mais chacun doit être entouré de son propre ensemble de guillemets. Par exemple, voici comment installer les derniers outils de plate-forme et outils de SDK pour le niveau d'API 33 :

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

Vous pouvez également transmettre un fichier texte qui spécifie tous les packages :

sdkmanager --package_file=package_file [options]

L'argument package_file est l'emplacement d'un fichier texte dans lequel chaque ligne est un chemin d'accès de type SDK d'un package à installer (sans guillemets).

Pour le désinstaller, ajoutez l'indicateur --uninstall :

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

Pour installer CMake ou le NDK, utilisez la syntaxe suivante :

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

Par exemple, exécutez la commande suivante pour installer la version de NDK spécifiée, quel que soit le canal sur lequel elle se trouve :

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

Mettre à jour tous les packages installés

Pour mettre à jour tous les packages installés, utilisez la syntaxe suivante :

sdkmanager --update [options]

Accepter les licences

Vous devez accepter la licence nécessaire pour chaque package installé. Cette étape se produit lors du processus d'installation des packages à partir d'Android Studio.

Si vous n'avez pas installé Android Studio, ou s'il est destiné à un serveur CI ou à un autre appareil Linux headless, procédez comme suit à partir de la ligne de commande :

sdkmanager --licenses

Vous serez alors invité à accepter toutes les licences en attente.

Options

Le tableau suivant présente les options disponibles pour les commandes indiquées dans la section précédente :

Option Description
--sdk_root=path Utilisez le chemin d'accès au SDK spécifié au lieu du SDK contenant cet outil.
--channel=channel_id Incluez les packages dans les canaux jusqu'à channel_id (inclus). Les canaux disponibles sont les suivants :

0 (stable), 1 (bêta), 2 (développement) et 3 (Canary).

--include_obsolete Incluez les packages obsolètes dans la liste des packages ou les mises à jour de packages. À utiliser uniquement avec --list et --update.
--no_https Forcez toutes les connexions à utiliser HTTP plutôt que HTTPS.
--newer Avec --list, n'affiche que les packages nouveaux ou pouvant être mis à jour.
--verbose Mode de sortie détaillé. Des erreurs, des avertissements et des messages d'information sont affichés.
--proxy={http | socks} Connectez-vous via un proxy du type donné : http pour les protocoles de haut niveau tels que HTTP ou FTP, ou socks pour un proxy SOCKS (V4 ou V5).
--proxy_host={IP_address | DNS_address} Adresse IP ou DNS du proxy à utiliser.
--proxy_port=port_number Numéro de port proxy auquel se connecter.