2 votos

Ejecutando aplicaciones de Android directamente en Ubuntu o Gentoo

Me pregunto si es posible ejecutar aplicaciones de Android DIRECTAMENTE en una distribución de Linux como Ubuntu o Gentoo. Me refiero a ejecutar las aplicaciones en Linux sin la ayuda de virtualbox, simuladores como genymotion, en google chrome...

¿Es posible compilar un kernel de Linux de tal manera para hacer esto? Si es así, ¿hay alguna guía que describa el proceso paso a paso?

Se agradece cualquier ayuda

0voto

Andy Brudtkuhl Puntos 1714

No, no lo es. Incluso si estuvieras ejecutando Linux en un sistema basado en ARM, o simplemente quisieras ejecutar aplicaciones para Android-x86, para que no necesitaras un emulador, seguirías teniendo el problema de que el espacio de usuarios de GNU no tiene las mismas facilidades y bibliotecas que tiene Android. El framework de Android, la biblioteca estándar utilizada por todas las aplicaciones de Android, no existe en GNU/Linux, por lo que las aplicaciones no podrían ejecutarse. No tiene nada que ver con compilar el kernel de una manera particular.

0 votos

Lo que dijiste es razonable. Pero busqué y encontré algunos proyectos de investigación como wiki o alguien había afirmado que podría compilar el kernel de Ubuntu para ejecutar aplicaciones de Android [stackoverflow] (stackoverflow.com/questions/26031710/… para ejecutar aplicaciones de Android)

0 votos

El planteó la pregunta porque no pudo hacer que funcionara, y no hay respuestas. Tu investigación parece respaldar mi respuesta.

0 votos

¿Ha cambiado esto desde entonces?

0voto

greg84 Puntos 111

Sí, lo hay, aunque en este momento todavía es experimental. Se llama Anbox y utiliza características del kernel para compartir el kernel entre la distribución y el sistema Android.

Oh, y no es necesario volver a compilar el kernel en absoluto.

0voto

HariM Puntos 21

Ubuntu 14.04 y versiones posteriores

Anbox tiene requisitos de hardware recomendados de >= 4 GB de RAM.

El instalador de anbox está DEPRECATED.

Por favor, encuentra las instrucciones de instalación actualizadas para Anbox (solo arquitectura de 64 bits) en https://github.com/anbox/anbox/blob/master/docs/install.md.

Instalar los módulos de kernel necesarios

Para agregar el PPA a tu sistema Ubuntu, por favor ejecuta los siguientes comandos:

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

Estos comandos agregarán el PPA a tu sistema e instalarán el paquete anbox-modules-dkms que contiene los módulos del kernel ashmem y binder. Se reconstruirán automáticamente cada vez que se actualicen los paquetes del kernel en tu sistema.

Después de instalar el paquete anbox-modules-dkms, debes cargar manualmente los módulos del kernel. La próxima vez que tu sistema se inicie, se cargarán automáticamente.

sudo modprobe ashmem_linux
sudo modprobe binder_linux

Ahora deberías tener dos nuevos nodos en el directorio /dev de tu sistema:

ls -1 /dev/{ashmem,binder}
/dev/ashmem
/dev/binder

Instalar el Anbox snap

Instalar el Anbox snap es muy simple:

snap install --devmode --beta anbox

Para actualizar Anbox a una versión más nueva, puedes ejecutar:

snap refresh --beta --devmode anbox

Escribe "anbox" en el Dash y haz clic en el ícono de Anbox para iniciar el Administrador de Aplicaciones de Anbox. En el Administrador de Aplicaciones de Anbox verás una fila de iconos de aplicaciones. Haz clic en un ícono para iniciarlo. La aplicación de Android se abrirá en una ventana nueva y podrás ejecutarla.

Anbox no viene con Google Play Store preinstalado y ni siquiera tiene un instalador de paquetes, por lo que la única forma de instalar aplicaciones adicionales en Anbox es a través de un paquete de software de Ubuntu llamado Android Debug Bridge (adb). Debes descargar el archivo .apk de la aplicación que deseas instalar, abrir la terminal, cambiar de directorios usando cd al directorio del archivo .apk, y luego instalar la aplicación con un comando que se ve así:

adb install /ruta/al/archivo.apk  

Descargar un archivo .apk desde un sitio web warez es un miserable riesgo de seguridad, sin embargo, algunas aplicaciones te permiten descargar el archivo .apk desde el sitio web oficial de la aplicación, por ejemplo WhatsApp Messenger para Android.

Luego, tal vez la aplicación se instale o tal vez no se instale si la aplicación requiere dependencias adicionales que no están instaladas en tu sistema operativo. Por ejemplo, WhatsApp requiere Java como dependencia. Yo ya tenía Java instalado en mi Ubuntu, así que intenté instalar WhatsApp.

adb install WhatsApp.apk  

Recibí un mensaje de error que decía error: cannot connect to daemon. Cerré Anbox y lo abrí de nuevo. Recibí otro mensaje de error que decía write: Broken pipe. Cerré Anbox y lo abrí de nuevo y recibí el mismo mensaje de error. Anbox tiene errores, tal como dice el script de instalación de anbox. Cerré Anbox y lo abrí de nuevo y finalmente WhatsApp se instaló en Anbox.

enter image description here

Cuando abres WhatsApp por primera vez, te muestra una pantalla con un mensaje que dice:

WhatsApp enviará un mensaje SMS para verificar tu número de teléfono.
Ingresa el código de país y tu número de teléfono.

WhatsApp también pregunta si deseas darle permiso a la aplicación para acceder a los archivos de tu dispositivo, lo cual es otro riesgo de seguridad en mi opinión. Creo que está bien darle permiso a WhatsApp para acceder a los archivos en mi teléfono, pero no quiero darle permiso para acceder a los archivos en mi computadora. Los permisos son de fundamental importancia en Linux. Debes tener mucho cuidado al otorgar permisos a una aplicación que no los tenga por defecto, y el paquete snap de telegram-desktop en Ubuntu 16.04 tiene un mejor soporte que WhatsApp, incluyendo las llamadas de voz de Telegram Calls que actualmente están disponibles para usuarios en todo el mundo.

PreguntAndroid.com

PreguntAndroid es una comunidad de usuarios de Android en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X