¿Se pueden ejecutar aplicaciones de línea de comandos de Linux en Android?

14

Soy nuevo en Android; De hecho, nunca he tenido uno.

Pero viajo todo este verano, y estoy muy interesado en programar un poco mientras estoy corriendo.

PREGUNTA: ¿Es posible ejecutar un entorno de desarrollo Ruby completo con Emacs en Android? ¿Cómo?

¿Y el "rooting" te da algo parecido a un sistema Linux real?

el espejo
fuente
Como nuevo usuario también, Jackpal parece que marca las casillas como una reelaboración del emulador de terminal de Android.
Laurie Stearn

Respuestas:

10

"Rooting" le permite acceder al entorno interno de Android, que por supuesto consiste en algo más que el kernel de Linux. Entonces está ejecutando Linux, pero debe considerarlo como si estuviera ejecutando bajo una distribución diferente a la de Debian o Redhat.

Hay un conjunto diferente de bibliotecas estándar y algunos archivos están en diferentes ubicaciones. Al menos en mi ext2soporte Droid no está integrado por defecto. Tampoco hay inito cron. El conjunto completo de módulos de Linux no está disponible a menos que los compile usted mismo y los coloque /system/lib/modules. Más importantes que puede faltar en ROM estándar son cifs, ext2, tun, y otros.

La mayoría, si no todos, los teléfonos con Android son CPU ARM. Por lo tanto, los binarios que ejecute en ellos deben ser binarios "EABI" "soft-float" de ARM. Si tiene la fuente, puede realizar una compilación cruzada de las utilidades que necesite, pero siga leyendo.

Hay muchos comandos y utilidades estándar disponibles en el /system/bindirectorio como grep, ps, cp, rm, mv, ls, ip, incluso vi. Tienes suficiente para sobrevivir hasta que ...

... use la utilidad "Instalador de Linux" para instalar un chrootentorno Debian editado. Debian ha apoyado ARM por un tiempo. Se necesita algo de trabajo, pero si puede rootear su teléfono y tener una tarjeta SD lo suficientemente grande, este es el camino a seguir.

Esto está cerca de un sistema Linux estándar y debajo de él puede instalar y ejecutar Ruby. Por supuesto, las limitaciones de CPU y RAM entran en juego.

LawrenceC
fuente
5

Ruby no se ha portado a Android, aunque es posible que desee consultar Ruboto . Para una edición simple, hay algunas opciones, pero no creo que emacs haya sido portado tampoco, de todos modos no hay resultados de Market.

El enraizamiento puede proporcionarle la capacidad de ejecutar Linux en su teléfono, pero Android no es Linux. Su núcleo se basa en gran medida en el núcleo de Linux, pero eso es todo. No puede ejecutar ninguna aplicación de Linux con una GUI en Android, debería reescribirse. No estoy seguro de hasta qué punto las aplicaciones de línea de comandos nativas tendrían que reescribirse, aunque, por supuesto, tendrían que volver a compilarse.

Android tampoco tiene una máquina virtual Java completa.

Matthew Read
fuente
4

Puede instalar una distribución de Debian que funcione en su teléfono sin alterar la distribución en el teléfono. De esta manera, tendrá una tierra de usuarios completa con cosas a las que está acostumbrado en cualquier otra caja de Linux. Debe usar su teléfono para usar esto cómodamente.

Instala esto: https://play.google.com/store/apps/details?id=org.dyndns.sven_ola.debian_kit

awesomo4000
fuente
3

En la fecha actual, el puerto Emacs para Android ya existe:

  • android-emacs-toolkit lanzado el 23 de junio de 2012:

    Android-emacs-toolkit ayuda a construir el entorno de desarrollo de Android en emacs. Contiene un modo principal de emacs que ayuda a desarrollar el programa sdk y ndk de Android.

  • GNU Emacs portado a Android disponible desde Google Play Store, actualizado por última vez el 23 de agosto de 2012:

    GNU Emacs portado a Android!

    Se ejecuta en la versión modificada de Terminal Emulator: requiere un teclado de hardware y una pantalla bastante grande.

    Incluye Busybox y eshell. SSH (para TRAMP) y git están planeados.


Además, puede encontrar útil la información proporcionada por EmacsWiki - EmacsOnAndroid , que esencialmente es una guía sobre cómo instalar Emacs en un dispositivo Android.

Zuul
fuente