Este tutorial sirve para las distribuciones Ubuntu y sus derivadas.


Hace tiempo que había escuchado hablar de Anbox, pero hasta hoy no me había puesto a probarlo. Así que he aprovechado para explicar como lo he hecho y compartirlo con vosotrxs.

anbox, instalar anbox en ubuntu linux

Para empezar pegaré la definición de Wikipedia Anbox:

“Anbox es una capa de compatibilidad de código abierto y libre que tiene como objetivo permitir que programas (software de aplicación y juegos) desarrollados para Android se ejecuten en otros sistemas operativos basados en Linux.”

Una de las características que más me ha interesado es que a diferencia de otros proyectos como Shashlik o Genimobile, Anbox ejecuta el sistema Android en el mismo kernel/núcleo que nuestro ordenador, sin la necesidad de emularlo como lo hacen los otros, todo se ejecuta directamente en el hardware.

Lo que he hecho para la instalación ha sido seguir los pasos de la documentación. Por lo tanto lo que os explicaré serán los pasos de la documentación y la solución a los problemas que me he encontrado.

Instalar Anbox

Empezaremos instalando el paquete snapd, dado que Anbox sólo se distribuye oficialmente como paquete Snap:

Una vez instalado, ya podemos empezar a instalar Anbox:

Quizás te estés preguntando el motivo del “–devmode”, esto es así porque el paquete snap de Anbox todavía no esta terminado. También por esto Anbox no se actualizará automáticamente y tendremos que actualizarlo con este comando:

Para que Anbox funcione, el kernel necesita unos módulos especiales de Anbox. Por ello, añadiremos el PPA de Anbox e instalaremos los módulos:

Si tienes un kernel que no es el predeterminado, instala el correspondiente paquete header para tu kernel.

Ahora activamos los módulos:

Puede que al activar los módulos, nos salga un error como este:

Para solucionarlo, debemos desactivar el Secure Boot desde la BIOS y volver a intentarlo.

Si todo ha salido bien, ejecutamos esto:

Y deberíamos tener una salida como esta:

anbox modules
Si nos fijamos antes de activarlos, todavía no existen los nodos en /dev

Ahora reiniciamos.

Instalar aplicaciones en Anbox

Para instalar las aplicaciones utilizaremos ADB (herramienta para comunicarte con un emulador/dispositivo Android):

Ahora sólo tendremos que descargar el APK de la aplicación que queramos instalar. F-Droid tiene un buen catalogo de aplicaciones libres. Yo he descargado unos cuantos APKs y los he instalado de la siguiente manera:

Lo mas seguro es que os salte este error o algo por el estilo:

adb device not found Anbox

Esto es porque todavía no hemos iniciado Anbox y éste no esta disponible para la conexión ADB. Lo podemos iniciar como una programa cualquiera desde el menú de aplicaciones buscando ‘anbox’ o ejecutándolo desde el terminal:

anbox installing apk adb issue
Como se puede observar, antes de iniciar ‘anbox.appmgr’, la lista (adb devices) de dispositivos ADB esta vacía.

Ahora ya sabemos instalar la aplicaciones mediante ADB. Las aplicaciones instaladas se añadirán automáticamente a Anbox.

Truco para instalar aplicaciones sin comandos

Si lo que queremos es instalar las aplicaciones directamente sin comandos. Seguro que se os ha ocurrido instalar F-Droid y desde ahí utilizarla como si de un móvil se tratara.

Con todo lo que hasta aquí hemos aprendido, seguro que ya sabéis hacerlo solos. Sólo tenemos que descargar el APK de F-Droid, instalarlo vía ADB y con la aplicación instalada ya podemos instalar todas las aplicaciones que queramos haciendo clics 🙂 .

anbox install with f-droid

Solucionar otros errores

Error “…service is not running yet”

Este error lo encontramos al intentar iniciar Anbox

La solución fue reiniciar/iniciar el servicio tal y como nos dice el mensaje:

fix [daemon.cpp:59@Run] Application manager service is not running yet anbox

Mi experiencia

Después de instalar unas 15 aplicaciones, tres de ellas al iniciarlas se quedan con la ventana en negro y una de ellas (SuperTuxKart) no me ha dejado instalarla debido a que no es compatible con la arquitectura del procesador de mi ordenador, me saltaba esto:

Para solucionarlo, podéis buscar en internet el error y encontraréis algo relacionado con libhoudini (es una capa para que los procesadores x86 puedan ejecutar ordenes para arquitecturas ARM). Cuando tenga tiempo miraré cómo solucionar este error, y quizás haga otro artículo o actualice éste. Si tenéis problemas, lo mas sencillo, es mirar si hay un APK de la aplicación para arquitecturas x86.

Por último, quiero remarcar que yo no he podido reproducir ni audio ni video con las aplicaciones de Anbox.

Si tenéis alguna duda podéis preguntar por los comentarios o por el grupo de Telegram de LiGNUx @liGNUx. Hasta pronto.

60 COMENTARIOS

  1. hola amigo. antes me cuando abrí la aplicación me abrió perfectamente. pero ahora, lo abro y sale en negro toda la aplicación… me puedes dar una solución?.

    gracias

  2. Hola Waku, el tutorial magnífico, mi problema es que cuando intento instalar una app me devuelve el error de que no se instaló adb:
    $adb install FDroid.apk
    El programa «adb» puede encontrarse en los siguientes paquetes:
    * adb
    * android-tools-adb
    Intente: sudo apt install

    Pero no dió ningun error previo y el Anbox alication manager esta funcionando.
    ¿Alguna idea?
    Mi sistema es: I5 con Ubuntu 16.04 y kernel 4.15.0-65-generic

    • Hola Juanvi, gracias por comentar:

      sudo apt install android-tools-adb

      Hiciste esto? Si no, hazlo y no cuentas si ha dado algún error.

      Un saludo

  3. Espectacular !! seguí todos los pasos y no tuve ningún problema, lo que me falta es que acceda a internet, esta instalado en una pc de escritorio y no le puedo encontrar la vuelta, decime si se te ocurre algo.

    Linux escritorio 4.15.0-88-generic #88-Ubuntu SMP Tue Feb 11 20:11:34 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

    Muchas gracias

    • Hola Pedro:

      Muchas gracias por comentar.

      Has hecho alguna comprobación desde dentro de alguna aplicación de Anbox?
      Como sabes que no tienes internet? Simplemente has intentado acceder a alguna aplicación y te ha dicho que no tienes internet, o has has llegado a hacer alguna comprobación más como:

      ping wikipedia.org # Desde una terminal de Anbox

      Un saludo

      • Gracias por responder tan rápido!!
        Pruebo con el navegador y me responde
        net::ERR_INTERNET_DISCONECTED

        instalé aptoide y también me dice
        Couldn’t conect to internet,
        no tengo mas nada instalado, quise instalar Termux para probar con ping a un nivel mas bajo pero no me funcionó.
        Gracias por tu ayuda

        • Intenta hacer un: adb shell

          Con eso entraras a la línea de comandos, y te ahorras instalar Termux.
          Desde ahí ya puedes probar a hacer:

          ping wikipedia.org

          Y si no funciona, puede que sea por los DNS. Para comprobarlo:

          ping 1.1.1.1

          Dime que respuesta te dan estos comando Pedro.

          • Ok con adb shell obuve estos resultados

            x86_64:/ $ ping wikipedia.org
            ping: unknown host wikipedia.org
            2|x86_64:/ $ ping 1.1.1.1
            connect: Network is unreachable
            2|x86_64:/ $

            Muchas gracias por tu ayuda

              • Pareciera que no tengo adaptador de red
                no importa , muchas gracias por tu ayuda

                x86_64:/ $ ifconfig
                lo Link encap:Local Loopback
                inet addr:127.0.0.1 Mask:255.0.0.0
                inet6 addr: ::1/128 Scope: Host
                UP LOOPBACK RUNNING MTU:65536 Metric:1
                RX packets:4 errors:0 dropped:0 overruns:0 frame:0
                TX packets:4 errors:0 dropped:0 overruns:0 carrier:0
                collisions:0 txqueuelen:1000
                RX bytes:248 TX bytes:248

                x86_64:/ $ ip add
                1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
                link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
                inet 127.0.0.1/8 scope host lo
                valid_lft forever preferred_lft forever
                inet6 ::1/128 scope host
                valid_lft forever preferred_lft forever
                x86_64:/ $

  4. Hola waku, tengo Linux mint 19.3 y realice todos los pasos incluyendo el paso del module genérico pero me sigue apareciendo que el directorio binder no existe solo el ashmem, que más puedo hacer? Saludos y muy buen aporte

    • Por cierto no me muestra ningún error después de ejecutar el comando apt install-headers-generic… Me aparece “Linux-headers-generic ya está en su versión más reciente”

      • Hola Ricardo, gracias por comentar:

        Si el comando “sudo apt install linux-headers-generic anbox-modules-dkms” ha ido bien y luego al hacer “ls -1 /dev/{ashmem,binder}” no encuentra el directorio ashmem, puede que sea porque el paso intermedio no ha funcionado. Prueba a ejecutar esto de nuevo, y dime si te da algún errror:

        sudo modprobe ashmem_linux

        sudo modprobe binder_linux

        Asegurate de escribir todas las letras bien.

        Un saludo

  5. Hola! Gracias por tu post.
    Instalé anbox sin complicaciones, incluso instalé la appstore y ejecuta sin problemas. Me he descargado el juego de Mobile Legend y no corre, no hace nada, aparece la sombra alrededor del icono cuando lo selecciono pero nada mas.
    Se que tu post está hecho para Ubuntu pero talvez conoces la explicación a este problema

    Agradecería muchisimo si pudieras ayudarme con este problema, de antemano gracias!

    SO: Manjaro de Archlinux
    Interfaz: Mate

    • Hola Brandon:

      Acabo de ver tu comentario, no me he dado cuenta antes. Siento responderte unos días más tarde.

      Brandon, como puedes leer en mi experiencia en el final del artículo, digo que hay algunos juego y aplicaciones que por razones que desconozco no se abren o se quedan con la pantalla en negro. Ahí no te puedo ayudar, eso depende de la aplicación/juego y de Anbox. Lo que si puedes hacer, es buscar en internet si alguien más ha intentado jugar al Mobile Legend con Anbox, y ver como lo han conseguido.

      Gracias por comentar,
      Un saludo

  6. hola estoy intentando la instalación pero me sale esto y no puedo seguir
    error: no devices/emulators found
    adb: error: failed to get feature set: no devices/emulators found
    – waiting for device –

    que tengo que hacer??

    • Hola Luis:

      No me he dado cuenta de tu comentario antes.
      ¿Cuando te da ese error? ¿Imagino que es cuando intentas hacer “adb install mi_aplicacion.apk”, no?

      Eso es porque seguramente, todavía, no has iniciado Anbox. Para hacerlo, ejecuta en tu terminal:

      anbox.appmgr

      Ahora intenta de nuevo “adb install mi_aplicacion.apk”. Si te sigue dando error, dime que te sale cuando ejecutas “adb devices”.

      Un saludo

  7. Excelente guía, de verdad muy agradecido a Wakutiteo.
    Incluso le pedí apoyo para resolver un problema que tuve con la instalación y me ayudó muy paciente y amablemente.
    Inmensamente agradecido.

  8. Ayuda!
    Tengo problema cuando ejecuto lo siguiente:
    ls -1 /dev/{ashmem,binder}

    Me sale lo siguiente:
    ls: no se puede acceder a ‘/dev/binder’: No existe existe el archivo o el directorio
    /dev/ashmen

    Con esto supongo que /dev/ashmen si existe, pero /dev/binder no.
    Probablemente fue por que ejecute el siguiente comando sin razonarlo:
    sudo add-apt-repository ppa:morphis/anbox-support
    sudo apt update
    sudo apt install linux-headers-generic anbox-modules-dkms
    Ya que no entendí y no vi a tiempo (quizá por el color de letra) la siguiente explicación:
    “Si tienes un kernel que no es el predeterminado, instala el correspondiente paquete header para tu kernel.”
    Estoy suponiendo que quiza esas lineas no aplicaban para mi caso.
    Entonces, si esto es asi, ¿COMO PUEDO REVERTIRLO?. ¿O como puedo continuar con la instalación y utilización de Andbox?

    Tengo
    Sistema operativo: Kubuntu 19.04
    Versión de KDE Plasma: 5.15.4
    Versión de KDE Frameworks: 5.56.0
    Versión de Qt: 5.12.2
    Versión del kernel: 5.0.0-20-generic
    Tipo de OS: 64 bits
    Procesadores: 2 × Intel® Celeron® CPU 1005M @ 1.90GHz
    Memoria: 3.7 GiB de RAM

    Por tu ayuda
    GRACIAS

    • Hola, Cesar:

      Te devuelve algún error este comando? Algo cómo que no encuentra alguno de los paquetes?:
      sudo apt install linux-headers-generic anbox-modules-dkms

    • Soy nuevo en esto, creo que me equivoque en la explicación de mi problema.

      Checando en el historial de la terminal no aparece ejecutada la linea que dices:
      sudo apt install linux-headers-generic anbox-modules-dkms

      Aunque crei haberla ejecutado por que puse en la terminal las 3 lineas de comando al mismo tiempo:
      1 sudo add-apt-repository ppa:morphis/anbox-support
      2 sudo apt update
      3 sudo apt install linux-headers-generic anbox-modules-dkms

      En mi terminal aparece ejecutada solo la primera linea, asi:
      cesar@Lenovo-G400s:~$ sudo add-apt-repository ppa:morphis/anbox-support

      More info: https://launchpad.net/~morphis/+archive/ubuntu/anbox-support
      Press [ENTER] to continue or Ctrl-c to cancel adding it.

      Obj:1 http://mx.archive.ubuntu.com/ubuntu disco InRelease
      Obj:2 http://security.ubuntu.com/ubuntu disco-security InRelease
      Des:3 http://ppa.launchpad.net/morphis/anbox-support/ubuntu disco InRelease [15.4 kB]
      Obj:4 http://mx.archive.ubuntu.com/ubuntu disco-updates InRelease
      Obj:5 http://mx.archive.ubuntu.com/ubuntu disco-backports InRelease
      Des:6 http://ppa.launchpad.net/morphis/anbox-support/ubuntu disco/main amd64 Packages [484 B]
      Des:7 http://ppa.launchpad.net/morphis/anbox-support/ubuntu disco/main i386 Packages [484 B]
      Des:8 http://ppa.launchpad.net/morphis/anbox-support/ubuntu disco/main Translation-en [268 B]
      Descargados 16.6 kB en 2s (8 798 B/s)
      Leyendo lista de paquetes… Hecho
      cesar@Lenovo-G400s:~$ sudo modprobe ashmem_linux
      cesar@Lenovo-G400s:~$ sudo modprobe binder_linux
      cesar@Lenovo-G400s:~$ ls -1 /dev/{ashmem,binder}
      ls: no se puede acceder a ‘/dev/binder’: No existe el archivo o el directorio
      /dev/ashmem

      ¿Como procedo? ¿Sigo instalando las 2 lineas que faltan? O ¿a que crees que se deba que tengo el error “ls: no se puede acceder a ‘/dev/binder’: No existe el archivo o el directorio”?

      • Hola de nuevo Cesar:

        El error se debe a que no has ejecutado todavía estos dos comandos:
        sudo apt update
        sudo apt install linux-headers-generic anbox-modules-dkms

        Es decir, que todavía no has instalado los paquetes (linux-headers-generic anbox-modules-dkms) con los módulos necesarios como son ashmem_linux y binder_linux (el que te falta a ti).

        Simplemente lo que tiene que hacer es ejecutar estas 3 líneas una a una ya que como has visto te puede dar problemas 🙂 :

        sudo add-apt-repository ppa:morphis/anbox-support
        sudo apt update
        sudo apt install linux-headers-generic anbox-modules-dkms

        Y ahora solo te queda continuar con los siguientes pasos.

        Un abrazo 🙂 ya nos contaras

    • ¿Por qué piensas que GNU/Linux es quién lo hace complejo y no la empresa tras el producto (en este caso programa) quién pone las complicaciones?

  9. Hola, me gusta mucho como explica todo pero me surgen errores y no consigo poder usar el emulador, podría ayudarme?
    Primero indicar que mi so es Linux Ubuntu 16.04 32Bits

    El primer error que me da es :
    sudo snap install –devmode –beta anbox

    error: snap “anbox” is not available on beta for this architecture (i386) but exists on other architectures (amd64)

    este error que ya indicabas que nos podia pasar….

    adb install FDroid.apk
    * daemon not running. starting it now on port 5037 *
    * daemon started successfully *
    error: device not found
    – waiting for device –

    lo que pasa es que al intentar el siguiente

    anbox.appmgr
    anbox.appmgr: no se encontró la orden

    No consigo continuar, ni para poder instalar el F-Droid ni ninguno posterior… podrias ayudarme?

    Muchas gracias

    • Hola Elena! Muchas gracias por agradermelo 🙂

      El primer error es porque tienes un ordenador de 32bits y cuando intentas instalar Anbox, te dice que no puede instalarlo porque Anbox no soporta ordenadores de 32bits, solo trabaja con 64bits. Y los otros errores te saltan porque no has podido instalar Anbox.

      Un saludo =)

      • y no hay ninguna opción de anbox para 32 bits?
        Algun otro emulador de android para linux cn 32 bits podrías recomendarme? aun asi muchas gracias por contestar tan rapido

  10. Al activar los módulos me salta este error:
    modprobe: FATAL: Module ashmem_linux not found in directory /lib/modules/4.16.18-pa2-1bp5
    Ayuda por favor!!

    • Hola Agustín, gracias por comentar 🙂

      Cuando haces:

      sudo apt install linux-headers-generic anbox-modules-dkms

      Te da algún error?

      • Asegurate que está bien escrito. Copia y pega estas dos líneas en el terminal:

        sudo modprobe ashmem_linux
        sudo modprobe binder_linux

        Si no, intenta hacer lo siguiente:
        sudo apt install linux-headers-$(uname -r) anbox-modules-dkms

        sudo modprobe ashmem_linux
        sudo modprobe binder_linux

        Un saludo

  11. No se instala anbox la ppa no la toma en Debian ,,,,mucho lio , porque la hacen tan complicado? je viva windows!! creo que despues de 3 o 4 años me canse de tantos requisitos y requisitos y requisitos y de claves y de ppa y la mar en coche

    • Hola Jose, como digo al principio del artículo el tutorial esta enfocado en Ubuntu y sus derivadas. Además no es buena idea agregar PPA a Debian porque son para los PPA son para Ubuntu.

      Ten en cuenta que Anbox es un proyecto de software libre, por lo que si ves algún problema puedes informar al proyecto o ayudar en cualquier otro aspecto 🙂

      No se ha que te refieres con que se piden tantos requisitos… De cualquier manera instalar Anbox no es para un usuario que no le guste toquetear un poco el terminal

      Si te animas a hacerlo con una distribución como Ubuntu o Linux Mint, cuéntanos que aplicaciones has instalado y como te ha ido =)

      • te pide requisitos de hardware SSE 4.1 etc y buscando la unica solucion es recompilar desde el fuente sacando las banderas de uso de las SSE pero tampoco hay garantias….o sea avance bastante tengo los modulos el snap el snapd etc pero el anbox no ejecuta por falta de hardware de ultima generacion parace ser, la verdad sacar un binario tan exigente no tiene sentido ES ELITISTA…ya desinstale todo….perdida de tiempo no pienso perder mas tiempo compilando ajustando flags de compilacion etc , sere un programador pero todo tiene su limite una cosa es compilar nada mas otra ajustar al compilador y enterarse de ello buscando y buscando ,,,cansa mucho, me imagino para un usuario comun…. Gracias.

  12. Hola! Vuelvo a postear porque no me deja responder a tu comentario.
    Gracias por responder. Tengo instalado Linuxmint 17.2 “Rafaella” a 64 bits. Haciendo el ls /etc/… me sale :
    morphis-anbox-support-trusty.list
    Saludos

  13. The CPU of your computer (AMD Athlon(tm) II X2 250u Processor) does not support all
    features Anbox requires.
    El final más triste 🙁

    • Que bien!

      Para redimensionar las ventanas tienes que poner el cursor del ratón en una esquina de la aplicación y arrastrar (aunque no veas el icono del ratón cambiar, arrastra)

  14. Al ejecutar el repositorio sudo apt install linux-headers-generic anbox-modules-dkms me aparece el siguiente error: No se ha podido localizar el paquete anbox-modules-dkms

    Podría ayudarme con este problema

    • Hola Hugo, no los puede localizar porque seguramente no hayas ejecutado estos dos comandos:

      sudo add-apt-repository ppa:morphis/anbox-support
      sudo apt update

      El primero es para añadir el repositorio y el segundo para actualizar las lista de paquetes/programas que hay en todos tus repositorios. Después de ejecutar esos dos comandos, ya vas a tener el problema solucionado.

      Un saludo 🙂

      • hola! Pues a mí me pasa lo mismo y sí que había hecho lo que comentas de añadir repositorio y hacer el update. Utilizo linuxmint. Alguna otra razón podría ser? Saludos y felicitaciones por la página.

        • Hola Emilio, perdón por la tardanza.

          Me parece raro que no podáis instalarlo, ahora mismo lo acabo de probar en una maquina virtual con Linux Mint 19 Tara y no he tenido ningún problema.

          Mira a ver si tienes el archivo del repositorio de Anbox con este comando:
          ls /etc/apt/sources.list.d/
          Deberías tener un archivo que se llama como (o por el estilo): ‘morphis-anbox-support-bionic.list’

          Por cierto, sabes que versión de Linux Mint tienes, y si es de 32 o 64 bits?

          Un saludo y gracias por comentar =)

  15. Buenas, he intentado instalar Anbox con estas indicaciones en mi Raspberry con Raspbian Stretch, pero al el ejecutar la orden de instalación (sudo snap install –devmode –beta anbox) me dice que error: snap "anbox" not found in the given context. Please use 'snap info anbox' to list available releases.

    ¿Sabe alguien si hay algún problema para instalar este software en Raspbian?

    Un saludo.

DEJA UNA RESPUESTA

Por favor, introduzca su comentario!
Por favor, introduzca su nombre aquí