anbox-1

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 compartilo con vosotr @s.

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.

El tutorial consistirá en:

  1. Instalar Anbox
  2. Instalar aplicaciones Android en Anbox
  3. Solucionar otros errores
  4. Mi experiencia

Instalar Anbox

Empezaremos instalando el paquete snapd, dado que Anbox solo se distribuye oficialmente como paquete Snap:

sudo apt install snapd

Una vez instalado, ya podemos empezar a instalar Anbox:

sudo snap install --devmode --beta 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:

sudo snap refresh --beta --devmode anbox

ara 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 el kernel predeterminado, sáltate este paso. Si tenéis un kernel que no es el predeterminado, instala el correspondiente paquete header para tu kernel.

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

Ahora activamos los módulos:

sudo modprobe ashmem_linux
sudo modprobe binder_linux

Si todo ha salido bien, ejecutamos esto:

ls -1 /dev/{ashmem,binder}

Y deberíamos tener una salida como esta:

activar-modulos-kernel-anbox

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):

sudo apt install android-tools-adb

Ahora solo 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:

adb install mi_aplicacion.apk

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

* daemon not running. starting it now on port 5037 * 
* daemon started successfully *
error: device not found
- waiting for device -

adb-install-error-nodevice

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.appmgr

installing-via-adb-error-solved

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 a 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. Solo 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.

fdroid-anbox

Solucionar otros errores

Error “…service is not running yet”

Este error lo encontramos al intentar iniciar Anbox

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

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

sudo snap stop anbox
sudo snap start anbox

fix-daemon

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:

Failure [INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]

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.

 

Fuente: lignux

¿Quién está en línea?

Hay 10892 invitados y ningún miembro en línea