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!
development
Starkers
fuente
fuente
Respuestas:
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 :
Pero también tenga en cuenta:
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.
fuente
esto puede hacerse
ejemplo: (Haga clic en la imagen para ampliar)
fuente
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.
fuente
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 anything
hacerlo 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
ruby
ygem
y puede empezar a experimentar.fuente
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.
fuente