¿Es posible ejecutar aplicaciones de Android en Linux (normal)?

17

Dado que Android es un kernel de Linux bifurcado más una pila de software, me pregunto si hay proyectos o ideas con respecto a la creación de una versión de Android que se pueda agregar a un sistema Linux para permitir que un sistema Linux ejecute aplicaciones de Android (compiladas para, por ejemplo, x86 )

¿Existe algo así o sería posible?

(No me refiero al emulador que viene con el SDK).

Andrew J. Brehm
fuente
2
El reproductor de Android para BlackBerry Playbook está cerca, aunque, por supuesto, se ejecuta en QNX y no en Linux.
Mateo leyó el

Respuestas:

2

Las cosas han cambiado un poco en los años desde que esto fue publicado.

Ahora hay varias (aunque ninguna de ellas perfectas aún) formas de ejecutar aplicaciones de Android en Linux sin un emulador o VM.

  1. Shashlik presenta una integración bastante agradable con su entorno de escritorio GNU. Sin embargo, carece de los servicios de Google Play.
  2. Arconte utiliza Google Chrome y le permite instalar aplicaciones de Android como si fueran aplicaciones de Chrome. Es bastante bueno, aunque aquí también, la compatibilidad no es perfecta .
  3. Finalmente, Google está trayendo oficialmentePlay Store para Chrome OS. Dado que este es un proyecto oficial desarrollado por Google, creo que debería tener la mejor compatibilidad del lote. Chrome OS es una distribución de Linux, basada en Gentoo. La mayor parte de su código fuente está disponible a través del proyecto Chromium OS. Este código fuente está disponible, no debería ser demasiado difícil portar esta compatibilidad a las distribuciones populares de GNU / Linux. Google es relativamente amigable con el código abierto (al menos en comparación con Apple / Microsoft), y no creo que estén arrojando ningún obstáculo para dicha transferencia. En todo caso, parecen interesados ​​en que Play Store llegue a tantos dispositivos como sea posible. Incluso pueden incorporar esta funcionalidad en futuras versiones de Google Chrome para Linux, o lanzar un paquete por separado. Lanzan la mayor parte del código fuente para Android y Chrome OS,

Por cierto, no es necesario compilar APK por separado para x86. Las aplicaciones que escribe se compilan en el código Dalvik Executable (DEX), que finalmente se convierte en código de ensamblaje (de acuerdo con la arquitectura requerida) por el núcleo para enviar al procesador. (Esta última parte está tomada de esta respuesta ) .

Revetahw dice reinstalar a Mónica
fuente
12

Todavía no existe nada de eso ya que las aplicaciones no se ejecutan de forma nativa en el sistema operativo, pero en su lugar usan la máquina virtual Dalvik ( Wikipedia ). Es algo comparable a Java en el sentido de que usa bytecode y crea un entorno separado para cada aplicación. Por lo tanto, a menos que el entorno Dalvik se transfiera a otras plataformas, no se pueden ejecutar en hardware normal.

Hay un proyecto llamado Alien Dalvik por Myriad que intenta ejecutar aplicaciones de Android en diferentes entornos, pero no hay mucha información al respecto. Myriad Alien Dalvik

onik
fuente
1

Las cosas han cambiado nuevamente desde que Revetahw publicó.

Shashlik parece ser un proyecto inactivo, pero Anbox parece estar ganando terreno. La ventaja de Anbox es que no emula el kernel de Android, sino que usa las características del kernel de Linux para compartir el kernel entre su sistema Linux y el sistema Android.

Además, Chrome OS ahora tiene soporte estable de aplicaciones de Android en varios dispositivos, pero desafortunadamente, esta integración es de código cerrado sin planes de código abierto anunciado.

Hombre de hojalata
fuente
0

No sé si hay proyectos de este tipo. Probablemente lo más cercano es el proyecto android-x86 que es un puerto de un entorno Android en estaciones de trabajo de escritorio: http://www.android-x86.org/

Juri
fuente
1
Esto no emula un entorno Android en estaciones de trabajo de escritorio, es un puerto de Android para PC normales.
Andrew J. Brehm
Claro, mi formulación no era muy adecuada. Lo arregló, gracias.
Juri