14 votos

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

Soy nuevo en Android; de hecho nunca he tenido uno.

Pero voy a viajar todo este verano, y estoy muy interesado en hacer algo de programación mientras estoy de viaje.

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 verdadero sistema Linux?

10voto

ultrasawblade Puntos 251

"Rootear" te permite acceder al entorno interno de Android, que por supuesto consiste en algo más que el kernel de Linux. Por lo tanto, estás ejecutando Linux, pero debes considerarlo como si estuvieras corriendo bajo una distribución diferente a la de, por ejemplo, Debian o Redhat.

Hay un conjunto diferente de bibliotecas estándar y algunos archivos están en lugares diferentes. Al menos en mi Droid ext2 no está incorporado por defecto. Tampoco hay init o cron . El conjunto completo de módulos de Linux no está disponible a menos que los compile usted mismo y los ponga en /system/lib/modules . Las más importantes que pueden faltar en las ROMs estándar son cifs , ext2 , tun y otros.

La mayoría de los teléfonos, si no todos, que ejecutan Android tienen CPUs ARM. Así que los binarios que se ejecutan en ellos deben ser binarios ARM "EABI" "soft-float". Si tienes el código fuente puedes compilar de forma cruzada las utilidades que necesites, pero sigue leyendo.

Hay muchos comandos y utilidades estándar disponibles en el /system/bin directorio como grep , ps , cp , rm , mv , ls , ip Incluso vi . Tienes lo suficiente para salir adelante hasta que...

...utilizar la utilidad "Linux Installer" para instalar un chroot 'ed entorno Debian. Debian ha soportado ARM durante un tiempo. Requiere un poco de trabajo, pero si puedes rootear tu teléfono, y tienes una tarjeta SD lo suficientemente grande, este es el camino a seguir.

Se trata de un sistema parecido a un Linux estándar y bajo él se puede instalar y ejecutar Ruby. Por supuesto, las limitaciones de CPU y RAM entran en juego.

5voto

Matthew Read Puntos 35808

Ruby no ha sido portado a Android, aunque puede que quieras consultar Ruboto . Para la edición simple hay algunas opciones, pero no creo que emacs haya sido portado tampoco, de todas formas no hay resultados en el mercado.

El rooting 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 se puede ejecutar ninguna aplicación de Linux con una interfaz gráfica de usuario en Android, habría que reescribirla. No estoy seguro de hasta qué punto habría que reescribir las aplicaciones nativas de línea de comandos, aunque por supuesto tendrían que ser recompiladas.

Android tampoco tiene una VM Java completa.

4voto

awesomo4000 Puntos 61

Puedes instalar una distro debian que funcione en tu teléfono sin alterar la distribución que ya tiene el teléfono. De esta manera, tendrás una zona de usuario completa con cosas a las que estás acostumbrado en cualquier otra caja de Linux. Debes hacer ssh en tu teléfono para usar esto cómodamente.

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

3voto

Zuul Puntos 7864

En la actualidad, ya existe un puerto de Emacs para Android:

  • Android-emacs-toolkit publicado 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 Android sdk y ndk.

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

    ¡GNU Emacs portado a Android!

    Se ejecuta en una versión modificada del emulador de terminal - requiere un teclado de hardware y una pantalla bastante grande.

    Incluye Busybox y eshell. Están previstos SSH (para TRAMP) y git.


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

0voto

Rahul Puntos 1

Prueba este método. Básicamente cualquier c, C++ compilado para ARM funcionará http://geeknizer.com/install-run-linux-applications-on-Android/

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