Android SDK desde la Terminal


En esta entrada se detallará cómo instalar android-sdk desde la terminal en ArchLinux, así como descargar diferentes versiones de firmware, imágenes de dispositivo, actualizar paquetes del sdk, instalar el emulador de Android y configurar una dispositivo virtual (avd). También se dará solución a un par de errores recurrentes.



Instalar SDK de Android

El primer paso es instalar los paquetes relacionados con el sdk de Android:

yaourt -S android-sdk android-sdk-build-tools android-sdk-build-tools

El sdk de android se instala en /opt/android-sdk/. Por lo tanto para poder utilizarlo como usuario normal haremos lo siguiente:

Creamos el gupo sdkusers:

sudo groupadd sdkusers

Añadimos nuestro usuario al grupo sdkusers:

sudo gpasswd -a tunombredeusuario sdkusers

Cambiamos el grupo al que pertenece la carpeta /opt/android-sdk/:

sudo chown -R :sdkusers /opt/android-sdk/

Le añadimos permisos de escritura:

sudo chmod -R g+w /opt/android-sdk/

Logéate en el grupo recién creado:

newgrp sdkusers



Configurar SDK Android

Para mostrar los paquetes disponibles dentro del sdkmanager:

sdkmanager --list

Si recibimos un error que dice: Exception in thread “main” java.lang.NoClassDefFoundError… es porque no estamos usando la versión necesaria de java. Vamos a instalarala:

sudo pacman -S jre8-openjdk jdk8-openjdk jre8-openjdk-headless

Y ahora vamos a establecer esta versión por defecto:

sudo archlinux-java set java-8-openjdk

Y ahora sí, el comando sdkmanager –list nos dará como resultado todos los paquetes disponibles así como los que ya está instalados, que son los más actualizados, claro. Vamos a instalar el emulador y una imagen de sistema para poder configurar un avd más tarde. Yo voy a instalar la imager para android-28 porque en el momento de escribir esta entrada es la más reciente:

sdkmanger "emulator" "system-images;android-28;google_apis_playstore;x86_64"

Se nos pedirá aceptar los términos del acuerdo de licencia.

Para poder desinstalar un paquete:

sdkmanager --uninstall "nombredelpaquete"

Para actualizar todos los paquetes:

sdkmanager --update



Crear un AVD

Para crear el avd usaremos el comando avdmanager de la siguiente manera:

avdmanager create avd -n android-28 -k "system-images;android-28;google_apis_playstore;x86_64"

Acabamos de crear un avd con el nombre android-28.

Otra manera de crear un avd es hacerlo eligiendo el dispositivo concreto que queremos emular. Para saber los diferentes dispositivos disponibles:

avdmanager list device

Voy a crear un avd del Pixel XL cuyo id es el 19 y nombre “pixel_xl” como se muestra en la salida del comando anterior. Para ello solo tengo que añadir la opción device al final:

avdmanager create avd -n "Pixel_XL" -k "system-images;android-28;google_apis_playstore;x86_64" --device 19

Para eliminar una avd:

avdmanager delete avd -n nombredelavd



Usar el emulador

Vamos a lanzar uno de los avd-s que acabamos de crear con el comando emulator:

emulator @Pixel_XL

Si nos devuelve el error ERROR:android/android-emu/android/qt/qt_setup.cpp:28:Qt library not found at ../emulator/lib64/qt/lib la solución pasa por lanzar el emulador desde la ruta completa:

/opt/android-sdk/tools/emulator @android-28

O bien creamos un alias en el archivo .bashrc para que sea mucho más cómodo de ejecutar en el futuro. Para crear este alias mira esta otra entrada donde lo explico.

Para ver los avd disponibles podemos verlos con el comando avdmanager:

avdmanager list avd

O podemos listarlos com el comando emulator también:

emulator -list-avds

2 comentarios

  • bazza dice:

    Hola, tenes idea por que me dice esto…

    > avdmanager create avd -n android-28 -k “system-images;android-28;google_apis_playstore;x86_64”
    > Error: Package path is not valid. Valid system image paths are:ository…

Responder a bazza Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *