Cómo instalar Android SDK Manager en Ubuntu 18.04
Sdkmanager es una herramienta CLI que permite a los usuarios ver, instalar, actualizar y desinstalar los paquetes disponibles para el SDK de Android.
Este tutorial le enseñará cómo instalar Android SDK Manager en Ubuntu 18.04 usando la terminal. Anteriormente, hemos visto cómo instalar Android SDK Manager en Ubuntu 16.04.
Si ya está usando Android Studio, no necesita usar sdkmanager, ya que puede administrar sus paquetes SDK desde el IDE. La herramienta sdkmanager se proporciona en el paquete de herramientas del SDK de Android, por lo que vamos a instalar este último para poder utilizar sdkmanager.
Instalar el paquete de herramientas del SDK de Android
Antes de instalar la herramienta preferida, debemos actualizar todos los paquetes e instalar JAVA, ya que el SDK de Android requiere que se ejecute. Para hacerlo, puede ejecutar los siguientes comandos en el orden mencionado a continuación:
sudo apt update
sudo apt install default-jdk
Una vez que JAVA está instalado en la máquina, podemos ejecutar el siguiente comando para verificar la versión de Java y asegurarnos de que se ha instalado correctamente:
java -version
La salida debe verse así
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)
Después de la instalación exitosa de JAVA, podemos proceder a la instalación de Android SDK. Necesitamos descargar los binarios de Sitio web de desarrolladores de Android. Si abre el enlace anterior en el navegador, puede encontrar archivos zip disponibles en la parte «Solo herramientas de línea de comandos». Para descargar binarios desde la terminal, ejecute el siguiente comando:
wget https://developer.android.com/studio/#downloads
Una vez que esté instalado, descomprímalo con el siguiente comando
unzip sdk-tools-linux-3859397.zip
Se creará un nuevo directorio llamado herramientas. Para completar la instalación, necesitamos agregar las siguientes rutas a nuestra variable de entorno PATH. Para hacerlo, puede ejecutar el siguiente comando:
export PATH=/home/ubuntu/tools:/home/ubuntu/tools/bin:$PATH
Si ha descargado o descomprimido el paquete de herramientas SDK en otro directorio, no olvide utilizar las rutas adecuadas. Para agregar los directorios de forma permanente, simplemente agregue la línea de arriba a la ~/.bashrc
o ~/.profile
archivos.
Uso de Android SDK Manager desde la terminal
Una vez instalado el SDK de Android, podemos usar sdkmanager
herramienta para ver, instalar, actualizar y desinstalar paquetes para el SDK de Android desde el terminal.
Lista de paquetes instalados, disponibles y actualizaciones
Para enumerar todos los paquetes instalados, disponibles y los que tienen actualización, podemos ejecutar:
sdkmanager –list
La salida se verá como la siguiente:
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
Puede tener problemas al ejecutar este comando. Por ejemplo, la salida del comando puede ser un error como el siguiente:
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
Para resolver este problema, edite el script sdkamanger que se encuentra en la carpeta bin de la carpeta de instalación (en nuestro caso, la ruta completa al archivo era /home/ubuntu/tools/bin/sdkamanager
) y agregue la siguiente línea en la línea 31:
-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
Después de la edición, esa línea debe verse a continuación:
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
Una vez que haya editado el archivo y lo haya guardado, puede ejecutar el sdkmanager --list
comando de nuevo. Solo se mostrarán los paquetes instalados y aparecerá otro mensaje de error que será como el siguiente:
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 realidad, hay dos errores separados en el mensaje anterior. Uno está relacionado con la conexión segura debido a que no puede ver los paquetes disponibles y comprobar si hay actualizaciones en los paquetes. El segundo dice que sdkmanager no puede cargar /home/ubuntu/.android/repositories.cfg
expediente.
Para corregir los errores creamos el archivo repositories.cfg (ya que no ha sido creado por defecto) y ejecutamos el sdkmanager --list
comando con --no_https
bandera. Ejecute los siguientes comandos en el orden siguiente:
touch /home/ubuntu/.android/repositories.cfg
sdkmanager --no_https --list
Después de ejecutar estos comandos, podrá ver el resultado que se muestra arriba en este artículo.
Instalar, actualizar y desinstalar paquetes usando sdkmanager
Para instalar el paquete, ejecute el siguiente comando:
sdkmanager --no_https [package_name]
Si desea desinstalar varios paquetes, puede agregarlos a un archivo y usar la marca –package_file. Por ejemplo
sdkmanager --no_https --package_file=/path/to/package_file
Tenga en cuenta que package_name debe ser de la lista de paquetes disponibles y si no usa no_https
marca arrojará el mismo error cuando ejecutamos el sdkmanager --list
mando.
Para actualizar todos los paquetes, puede ejecutar:
sdkmanager --no_https --update
Tenga en cuenta que si actualiza las herramientas del SDK, debe editar /home/ubuntu/tools/bin/sdkamanager
archivo de nuevo y agregue -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
en la línea 31, ya que el archivo mencionado anteriormente se obtendrá del servidor y se convertirá en el predeterminado.
Para desinstalar el paquete, ejecute el siguiente comando:
sdkmanager --uninstall [package_name]
o
sdkmanager --uninstall --package_file=/path/to/package_file
Lea también:
La instalación de Android SDK Manager en sí es muy simple, pero durante el proceso puede enfrentar diferentes problemas relacionados con JAVA. Sin embargo, se describen soluciones para los tipos de problemas que puede enfrentar. Entonces, usando este tutorial, puede estar seguro de que lo hará funcionar.