¿Cómo ejecutar aplicaciones de Android en Amazon EC2?

Conozco dos emuladores de Android, como BlueStacks (Windows y macOS) y Genymotion (macOS y Linux). Ambos usan imágenes virtuales para ejecutar la emulación de Android y funcionan bien en mi MacBook. Sin embargo, no funcionarán en VPS, ya que no puede usar VM dentro de un entorno ya virtualizado (como VPS o Amazon EC2).

¿Hay alguna solución para ejecutar la aplicación de Android que funciona las 24 horas del día, los 7 días de la semana en Amazon EC2 o en diferentes VPS, ya sea en Linux, macOS o usando alguna AMI especial utilizada para Android?

Respuestas (3)

Gracias al soporte completo de virtualización anidada de Ravello , es posible ejecutar el emulador de Android con aceleración de hardware en cualquier nube pública siguiendo estos pasos:

  1. Cree una máquina virtual host en Ravello (en AWS) para el emulador de Android.

    La forma más fácil de instalar y ejecutar Xubuntu 14.04.1 en Ravello es instalarlo desde un CD-ROM.

    Asegúrese de habilitar el soporte completo de virtualización para el emulador en esta VM de Ubuntu cargando el módulo KVM:

    sudo modprobe kvm_amd
    sudo chmod 666 /dev/kvm
    
  2. Instale el emulador de Android en la máquina virtual recién creada en AWS.

    1. Instalar OpenJDK

      sudo apt-get install openjdk-6-jre openjdk-6-jdk icedtea6-plugin
      
    2. Descargue e instale el último SDK de Android:

      wget http://dl.google.com/android/android-sdk_r23.0.2-linux.tgz
      tar -xvzf android-sdk_r23.0.2-linux.tgz
      cd ~/android-sdk-linux/tools
      ./android
      
  3. Cree un AVD (dispositivo virtual de Android) para ejecutar en el emulador.

    ~/android-sdk-linux/tools/android avd
    
  4. Ejecute el dispositivo virtual Android con una pantalla local (en la consola Ravello):

    sudo ./emulator64-x86 -avd [AVD Name] -noaudio -nojni -netfast -no-boot-anim  -qemu -enable-kvm -snapshot
    
  5. Habilite la conexión VNC directa al AVD.

    Le gustaría poder permitir la conexión VNC directa a este AVD, ya sea usando un cliente VNC o usando una puerta de enlace VNC a HTML5 como Guacamole o NoVNC para permitir el acceso directo al dispositivo Android desde cualquier navegador web.

Fuente: Cómo ejecutar el emulador de Android (con aceleración de hardware) en Amazon EC2 y Google Cloud

Ver también: Primeros pasos con Ravello: paso a paso

Como Ravello ya no existe, ¿hay alguna nueva solución?

Hay un Genymotion on-Demand disponible en AWS Marketplace para emular Android directamente usando AMI (soporte para Android 5-7).

Genymotion on-Demand para AWS, basado en Genymotion líder en la industria, es el sistema operativo Android en EC2.

Consulte el Tutorial de Genymotion on Demand para obtener más detalles.

Genymotion on-Demand es basura, no se puede ejecutar las 24 horas del día, los 7 días de la semana, es demasiado caro.
Genymotion no es de código abierto, creo que no puedes ejecutarlo por tu cuenta.

Hay una instancia disponible de BlueStacks App Player en Windows 2012 R2 en Amazon Marketplace proporcionada por Cognosys Inc.

BlueStacks App Player es una gran herramienta que le permite ejecutar sus aplicaciones/juegos móviles favoritos en pantalla completa en su navegador usando una PC o Mac.

Se sugiere usar el t2-mediumtipo mínimo de instancia que iniciará la aplicación del reproductor y puede proporcionar juegos de poca acción y color bajo (lento, pero funciona). Para juegos que consumen más recursos, se debe usar un tipo de instancia más alto. Para el almacenamiento, se deben usar 32 GB o más.