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


8

Consciente de que esto es un poco mental, pero ¿puedo instalar Ruby en un Galaxy S4 con Jelly Bean 4.2? ¿Una consola donde puedo instalar gemas, rastrillar rutas y ejecutar el servidor Rails, y buscar mi aplicación poniendo 0.0.0.0.3000 en Chrome?

¡Sería excelente para probar pequeñas ideas y conceptos que tengo mientras viajo!

Consciente de que Android no es UNIX, pero Dios mío, si pueden instalarlo en Windows, ¡pueden instalarlo en cualquier lugar!


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

Respuestas:


3

El entorno de secuencias de comandos de Android dice que planee en Ruby . Puede valer la pena comprobar hasta dónde llegaron; al menos están etiquetados "JRuby" en Google Code. Según su página de proyecto :

Los scripts se pueden ejecutar de forma interactiva en un terminal, en segundo plano o a través de Locale. Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl y shell son compatibles actualmente, y estamos planeando agregar más.

Pero también tenga 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 quieras leer es Hackear Android durante las vacaciones . Describe un intento (exitoso) de configurar y usar SL4A para ser usado con ao Ruby.


6

esto puede hacerse

  1. Compila Ruby y Nodejs para Android
  2. Instale en el dispositivo y configure con c / c ++ ide (puede usar C4droid, CCTools, Terminal IDE ... para instalar los módulos de expansión en с / с ++)
  3. Instalar rieles ($ gem instalar rieles)

ejemplo: (Haga clic en la imagen para ampliar)
Captura de pantalla 1 Captura de pantalla 2 Captura de pantalla 2


3

En cuanto a Ruby, puedes probar Termux .

Con pilas incluidas. ¿Te imaginas una calculadora de bolsillo más potente pero elegante que una consola python con tecnología readline? Las versiones actualizadas de perl, python, ruby ​​y node.js están disponibles.


0

En teoría, sí, podría hacer esto, pero habría algunas limitaciones significativas. Seguramente necesitarás un dispositivo Android rooteado .

Por ejemplo, no sería capaz de gem install anythinghacerlo funcionar. El problema es que el teléfono tiene recursos limitados para ejecutar un compilador, por lo que no puede compilar ni Ruby ni ninguna gema que necesite bibliotecas nativas.

Entonces, la primera forma en que haría esto sería compilar de forma cruzada ruby ​​y RubyGems con el NDK de Android y luego cargarlos en el dispositivo. En este punto tienes rubyy gemy puede empezar a experimentar.


0

En realidad, modifiqué CyanogenMod para crear "/ bin, / lib, / usr, / var, / svr, / home, / media, etc, etc." y luego modifiqué "$ {source_root} / system / core / include / private /android_filesystem_config.h "para incluir reglas para los directorios y luego modifiqué mi tarjeta sd externa para que no se montara como fusible o con el conjunto de bits fijos (establecería la propiedad raíz: sdcard_rw para todos los archivos dentro) y después del inicio ejecuté un script que montó los directorios raíz del brazo de Linux en la tarjeta sd externa a las versiones vacías en la raíz de Android. La versión incrustada de glibc se usó con una imagen Kali Linux armhf chroot que creé, pero no tenía ruby ​​ni metasploit. Así que seguí algunas instrucciones sobre cómo compilar ruby ​​1.9.3 con svn o algo así y luego lo usé para instalar metasploit, lo único fue que postgresql no funcionó No funciona porque los sockets y la creación de archivos son muy sensibles a los permisos y los sockets pueden haber estado involucrados, por lo que ninguna base de datos de Postgres todavía tiene que intentar conectarse a un DB en otro host. Apache2 funcionó, hice todo /etc/init.d/apache2 start y viola, "¡Funciona!" lo sabes si lo has visto.

En resumen, sí, puede compilar ruby ​​y muchos más programas en Android, glibc solo tiene que estar disponible, es decir, el directorio / lib y los contenidos en Linux.

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

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.