8 votos

¿Puedo instalar Ruby y Ruby on Rails en un Android?

Soy consciente de que esto es un poco mental, pero ¿puedo instalar Ruby en un Galaxy S4 con Jelly Bean 4.2? ¿Una consola en la que pueda instalar gemas, rakear rutas y ejecutar el servidor Rails, y navegar hasta mi aplicación poniendo 0.0.0.0.3000 en Chrome?

Sería excelente para las pruebas pequeño ¡ideas y conceptos que tengo mientras estoy de viaje!

Consciente de que Android no es UNIX, pero por Dios que si pueden instalarlo en Windows, pueden instalarlo en cualquier sitio.

0 votos

Tienes algunas buenas respuestas a continuación, ¿alguna razón por la que no las has votado?

6voto

fann95 Puntos 31

Esto se puede hacer

  1. Compilar Ruby y Nodejs para Android
  2. Instalar en el dispositivo y configurar con c/c++ ide (Puedes usar C4droid,CCTools,Terminal IDE.... para instalar los módulos de expansión en /++)
  3. Instalar rails ($gem install rails)

ejemplo:
Screenshot 1 Screenshot 2 Screenshot 2 (Haga clic en la imagen para ampliarla)

3voto

Izzy Puntos 45544

El entorno de scripting de Android dijo que planeara en Ruby . Podría valer la pena comprobar hasta dónde han llegado; al menos están etiquetados como "JRuby" en Google Code. Según su página de proyectos :

Los scripts pueden ejecutarse de forma interactiva en un terminal, en segundo plano o a través de Locale. Actualmente se soportan Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, y shell, y estamos planeando añadir más.

Pero también hay que tener en cuenta:

SL4A está diseñado para desarrolladores y es un software de calidad alfa.

Un artículo interesante sobre este tema que quizás quiera leer es Hackear Android durante las vacaciones . Describe un intento (exitoso) de configurar y utilizar SL4A para ser usado con a.o. Ruby.

3voto

CharlieMezak Puntos 3648

En cuanto al rubí, puede probar Termux .

Con pilas incluidas. ¿Puede imaginarse una calculadora de bolsillo más potente y a la vez elegante que una consola de python alimentada por readline? Dispone de versiones actualizadas de perl, python, ruby y node.js.

0voto

Michael Hampton Puntos 1470

En teoría, sí se podría hacer, pero habría algunas limitaciones importantes. Es casi seguro que necesitarás un rooteado Dispositivo Android.

Por ejemplo, no podrías simplemente gem install anything y que funcione. El problema es que el teléfono es demasiado limitado en recursos para ejecutar un compilador, por lo que no se puede compilar ni Ruby, ni ninguna gema que necesite librerías nativas.

Así que la primera forma en que yo haría esto sería la compilación cruzada de ruby y RubyGems con el Android NDK y luego cargarlos lateralmente en el dispositivo. En este punto tienes ruby y gem y puede empezar a experimentar.

0voto

En realidad, he modificado CyanogenMod para crear vacío "/bin, /lib, /usr, /var, /svr, /home, /media, etc, etc" y luego modificado "${source_root}/system/core/include/private/android_filesystem_config. h" para incluir reglas para los directorios y luego modificó mi sdcard externa para que no se montara como fusible o con el bit pegajoso establecido (establecería la propiedad Root:sdcard_rw a todos los archivos dentro) y después del inicio ejecuté un script que montó los directorios Root del brazo Linux en la sdcard externa a las versiones vacías en el Root de Android. La versión incrustada de glibc se utilizó con una imagen chroot de Kali Linux armhf que creé, pero no tenía ruby ni metasploit. Así que seguí algunas instrucciones sobre la compilación de ruby 1.9.3 con svn o algo así y luego lo usé para instalar metasploit, lo único fue que postgresql no funcionó porque el socket y la creación de archivos son muy sensibles a los permisos y los sockets pueden haber estado involucrados, por lo que no hay base de datos postgres, todavía tienen que tratar de conectarse a una db en otro host sin embargo. Apache2 funcionó, hice todo el proceso de /etc/init.d/apache2 start y viola, "¡Funciona!" lo sabes si lo has visto.

Así que en resumen, sí, se puede compilar ruby y muchos más programas en Android, glibc sólo tiene que estar disponible, es decir, el directorio /lib y el contenido en Linux.

Y como nota al margen, usé un Galaxy S III Sprint con 2GB de RAM. Python funciona muy bien, acabo de empezar a experimentar con sockets Unix con python, se conectaron en /sdcard pero necesito aprender más acerca de las políticas de seguridad de Android en los sockets y la creación de bases de datos antes de avanzar con conseguir metasploit y trabajar con una base de datos que funciona en Android + glibc.

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