Para ejecutar o emular una app híbrida en un entorno Android hace falta tener el SDK de Android. En la versión 2 y anteriores era posible instalar únicamente el SDK sin necesidad de instalar todo el Android Studio, pero a partir de la versión 3 es obligatorio. Así que estos son los pasos a seguir para tener Android Studio y Android SDK y poder al menos correr una app Ionic en el dispositivo o emulador.
1. Instalar Java JDK si no lo tenemos aun:
sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install java-common oracle-java8-installer
Aquí instalaremos la versión 8 de java porque hay algunos programas como netbeans que no funcionan con la versión 9, sin embargo, Si queremos instalar el JDK9 los comandos serían los mismos cambiando el 8 por el 9 (webupd9team y java9).
2. Asignar el path del JDK a la variable de entorno JAVA_HOME
sudo apt-get install oracle-java8-set-default source /etc/profile
Al igual que en el paso anterior, si estamos usando la version 9 cambiaremos java8 por java9.
3. Descargar e Instalar Android Studio
sudo add-apt-repository ppa:maarten-fonville/android-studio sudo apt update sudo apt install android-studio
La instalación tomara un largo rato ya que se realiza la descarga y posteriormente la instalación.
4. Abrir y configurar Android Studio
Android Studio ya debe estar instalado y disponible para abrir, luego de abrir este iniciará un proceso de configuración del tipo siguiente, siguiente, siguiente; sin embargo, hay que prestar atención a lo que nos va preguntando que no es nada complicado o que no entendamos fácilmente. Posteriormente Android Studio descargará sus componente, cosa que tomará otro tiempo.
Es posible que durante este proceso ocurran errores y no se instalen algunos componentes, como por ejemplo el SDK. Por el momento debemos continuar con el proceso y en el siguiente paso, cuando tengamos abierto el IDE de Android Studio, nos notificará que el SDK u otro(s) componentes no están instalados y nos permitirá intentar la instalación nuevamente.
5. Crear nuestra primera App en Android Studio
Debemos crear un aplicación cualquiera para poder abrir completamente el entorno de desarrollo de Android Studio y entrar a configurar el SDK. Se abrirá un paso a paso para que escojamos el tipo de aplicación, pero, realmente no importa las opciones que escojamos por el momento.
Nota: Durante todos estos pasos Android Studio estará descargando e instalando constantemente varios componentes por lo que hay que tener paciencia.
6. Descargar las versiones de Android para las cuales queramos probar nuestras aplicaciones
Abrimos el SDK en el menú Tools > Android > SDK Manager
Allí aparecerá una lista de todas las versiones de Android y nos marca cuales están instaladas. Debemos seleccionar las que queramos adicionar y posteriormente dar clic en instalar. Esto llevara otro tiempo largo.
7. Configurar un emulador por defecto
Después debemos crear un AVD (Android virtual Device) donde debemos seleccionar que el tipo de dispositivo y cual versión de Android tendrá (Podemos escoger las que instalamos anteriormente, sin embargo, se descargará la imagen de la versión de Android).
Para abrirlo vamos al menú Tools > Android > AVD Manager
Podemos crear los AVD que queramos, pero debemos tener al menos una para poder probar nuestras aplicaciones.
8. Variables de entorno de Android Studio y Gradle
Debemos agregar la variable de entorno ANDROID_HOME y agregar a la variable PATH las rutas del SDK y Gradle.
Encontraremos la ruta al SDK ingresando a Android Studio en el menú Tools > Android > SDK Manager, en el campo Android SDK Location.
Para agregar las rutas debemos editar el archivo /etc/environment. Agregamos las siguientes rutas a la variable PATH, reemplazando <USUARIO> por tu nombre de usuario y <SDK-VERSION> por la versión instalada del sdk:
:/home/<USUARIO>/Android/Sdk/tools:/home/<USUARIO>/Android/Sdk/platform-tools:/opt/android-studio/gradle/gradle-4.6/bin:/home/<USUARIO>/Android/Sdk/build-tools/<SDK-VERSION>/
También agregamos la variable ANDROID_HOME y ANDROID_SDK_ROOT:
ANDROID_HOME="/home/<USUARIO>/Android/Sdk" ANDROID_SDK_ROOT="/home/<USUARIO>/Android/Sdk"
El archivo bashrc se ejecuta cada vez que iniciamos sesión, así que por solo esta vez debemos recargarlo para aplicar los cambios:
source /etc/environment
Ahora debemos agregarle permiso de ejecución a Gradle:
sudo chmod +x /opt/android-studio/gradle/gradle-4.6/bin/gradle
El comando gradle ya debería estar disponible desde la consola, sino es asi una solución no recomendada es instalarlo independientemente en Ubuntu, para que así sea reconocido cuando corremos nuestras aplicaciones:
sudo add-apt-repository ppa:cwchien/gradle sudo apt-get update sudo apt-get install gradle
9. Ya esta listo!
Los dos últimos pasos son necesario para poder correr nuestra aplicación de Ionic. ahora podemos correr la aplicación ya sea en un emulador o en un dispositivo real (Que tenga USB debugging activado).
Nota: Adicionalmente, en un proyecto en particular que ya venia probando en mi smartphone desde otro laptop, y que intenté correr en la nueva laptop, fue necesario desinstalarlo porque me mostraba el error INSTALL_FAILED_UPDATE_INCOMPATIBLE. Después de desinstalarlo ya funcionó correctamente.
Conclusión
Estos son los pasos que me funcionan a mi para correr aplicaciones híbridas en Ionic desde una máquina con Ubuntu 18.04 en dispositivos Android. Seguramente existen mejores formas de hacerlo, si las conocen coméntenlas para probarlas y si funcionan las publicamos aquí. Pienso que instalar todo el Android Studio para no usarlo es demasiado, ¿Cuales otras opciones existen?.