
Le sdkmanager est un outil CLI qui permet aux utilisateurs d'afficher, d'installer, de mettre à jour et de désinstaller les packages disponibles pour le SDK Android.
Ce tutoriel va vous apprendre à installer Android SDK Manager sur Ubuntu 18.04 à l'aide du terminal. Plus tôt, nous avons vu comment installer Android SDK Manager sur Ubuntu 16.04.
Si vous utilisez déjà Android Studio, vous n'avez pas besoin d'utiliser sdkmanager car vous pouvez gérer vos packages SDK à partir de l'IDE à la place. L'outil sdkmanager est fourni dans le package Android SDK Tools, nous allons donc installer ce dernier pour pouvoir utiliser sdkmanager.
Installer le package d'outils du SDK Android
Avant d'installer l'outil préféré, nous devons mettre à jour tous les packages et installer JAVA, car le SDK Android l'exige pour s'exécuter. Pour ce faire, vous pouvez exécuter les commandes suivantes dans l'ordre indiqué ci-dessous :
sudo apt update
sudo apt install default-jdk
Une fois JAVA installé sur la machine, nous pouvons exécuter la commande suivante pour vérifier la version de Java et s'assurer qu'elle a été correctement installée :
java -version
La sortie doit ressembler à ceci
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
Après une installation réussie de JAVA, nous pouvons procéder à l'installation du SDK Android. Nous devons télécharger les fichiers binaires à partir du site Web des développeurs Android. Si vous ouvrez le lien ci-dessus dans le navigateur, vous pouvez trouver les fichiers zip disponibles dans la partie "Outils de ligne de commande uniquement". Pour télécharger les binaires depuis le terminal, exécutez la commande ci-dessous :
wget https://developer.android.com/studio/#downloads
Une fois installé, décompressez avec la commande suivante
unzip sdk-tools-linux-3859397.zip
Un nouveau répertoire sera créé nommé tools. Pour terminer l'installation, nous devons ajouter les chemins suivants à notre variable d'environnement PATH. Pour ce faire, vous pouvez exécuter la commande ci-dessous :
export PATH=/home/ubuntu/tools:/home/ubuntu/tools/bin:$PATH
Si vous avez téléchargé ou décompressé le package SDK-tools dans un autre répertoire, n'oubliez pas d'utiliser les chemins appropriés. Pour ajouter les répertoires de façon permanente, ajoutez simplement la ligne ci-dessus au ~/.bashrc
ou ~/.profile
fichiers.
Utilisation du gestionnaire de SDK Android depuis le terminal
Une fois le SDK Android installé, nous pouvons utiliser sdkmanager
outil pour afficher, installer, mettre à jour et désinstaller les packages pour le SDK Android à partir du terminal.
Liste des packages installés, disponibles et des mises à jour
Pour répertorier tous les packages installés, disponibles et ceux qui ont une mise à jour, nous pouvons exécuter :
sdkmanager --list
Le résultat ressemblera à celui ci-dessous :
Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
platform-tools | 27.0.1 | Android SDK Platform-Tools | platform-tools/
tools | 26.0.1 | Android SDK Tools 26.0.1 | tools/
Available Packages:
Path | Version | Description
------- | ------- | -------
add-ons;addon-g..._apis-google-15 | 3 | Google APIs
add-ons;addon-g..._apis-google-16 | 4 | Google APIs
add-ons;addon-g..._apis-google-17 | 4 | Google APIs
add-ons;addon-g..._apis-google-18 | 4 | Google APIs
add-ons;addon-g..._apis-google-19 | 20 | Google APIs
add-ons;addon-g..._apis-google-21 | 1 | Google APIs
add-ons;addon-g..._apis-google-22 | 1 | Google APIs
add-ons;addon-g..._apis-google-23 | 1 | Google APIs
add-ons;addon-g..._apis-google-24 | 1 | Google APIs
add-ons;addon-g...e_gdk-google-19 | 11 | Glass Development Kit Preview
...
system-images;a...s_playstore;x86 | 2 | Google Play Intel x86 Atom Sys...
system-images;a...laystore;x86_64 | 2 | Google Play Intel x86 Atom_64 ...
tools | 26.1.1 | Android SDK Tools
Available Updates:
ID | Installed | Available
------- | ------- | -------
tools | 26.0.1 | 26.1.1
done
Vous pouvez avoir des problèmes lors de l'exécution de cette commande. Par exemple. la sortie de la commande peut être une erreur comme celle ci-dessous :
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 5 more
Pour résoudre ce problème, modifiez le script sdkamanger qui se trouve dans le dossier bin du dossier d'installation (dans notre cas, le chemin d'accès complet au fichier était /home/ubuntu/tools/bin/sdkamanager
) et ajoutez la ligne suivante à la 31ème ligne :
-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
Après l'édition, cette ligne doit ressembler à ceci :
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
Une fois que vous avez modifié le fichier et enregistré, vous pouvez exécuter le sdkmanager --list
commander à nouveau. Seuls les packages installés seront affichés et un autre message d'erreur apparaîtra, semblable à celui ci-dessous :
Warning: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Warning: Failed to download any source lists!
Warning: File /home/ubuntu/.android/repositories.cfg could not be loaded.
En fait, il y a deux erreurs distinctes dans le message ci-dessus. L'un est lié à la connexion sécurisée en raison de laquelle il ne peut pas afficher les packages disponibles et vérifier les packages pour les mises à jour. Le second dit que sdkmanager ne peut pas charger /home/ubuntu/.android/repositories.cfg
fichier.
Pour corriger les erreurs, nous créons le fichier repositories.cfg (car il n'a pas été créé par défaut) et exécutons le sdkmanager --list
commande avec --no_https
drapeau. Exécutez les commandes suivantes dans l'ordre ci-dessous :
touch /home/ubuntu/.android/repositories.cfg
sdkmanager --no_https --list
Après avoir exécuté ces commandes, vous pourrez voir la sortie indiquée ci-dessus dans cet article.
Installer, mettre à jour et désinstaller des packages à l'aide de sdkmanager
Pour installer le package, exécutez la commande suivante :
sdkmanager --no_https [package_name]
Si vous souhaitez désinstaller plusieurs packages, vous pouvez les ajouter à un fichier et utiliser l'indicateur --package_file. Par exemple
sdkmanager --no_https --package_file=/path/to/package_file
Notez que package_name doit provenir de la liste des packages disponibles et si vous n'utilisez pas no_https
flag il lancera la même erreur lorsque nous avons exécuté le sdkmanager --list
commande.
Pour mettre à jour tous les packages, vous pouvez exécuter :
sdkmanager --no_https --update
Notez que si vous mettez à jour les outils SDK, vous devez modifier /home/ubuntu/tools/bin/sdkamanager
fichier à nouveau et ajoutez -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
dans la 31ème ligne, car le fichier mentionné ci-dessus sera récupéré sur le serveur et deviendra celui par défaut.
Pour désinstaller le package, exécutez la commande ci-dessous :
sdkmanager --uninstall [package_name]
ou
sdkmanager --uninstall --package_file=/path/to/package_file
Lire aussi :
- Comment installer Android SDK Manager sur Ubuntu 16.04
- Comment installer Java 8 sur Ubuntu 18.04
L'installation d'Android SDK Manager elle-même est très simple, mais au cours du processus, vous pouvez rencontrer différents problèmes liés à JAVA. Cependant, il existe des solutions de contournement décrites pour les types de problèmes auxquels vous pouvez être confronté. Donc, en utilisant ce tutoriel, vous pouvez être sûr que vous le ferez fonctionner.