Puis-je installer Ruby et Ruby on Rails sur un Android?


8

Conscient que c'est un peu mental, mais puis-je installer Ruby sur un Galaxy S4 exécutant Jelly Bean 4.2? Une console où je peux installer des gemmes, rake routes et exécuter le serveur Rails, et accédez à mon application en mettant 0.0.0.0.3000 dans Chrome?

Ce serait excellent pour tester les petites idées et concepts que j'ai en déplacement!

Conscient qu'Android n'est pas UNIX, mais bon Dieu s'ils peuvent l'installer sur Windows, ils peuvent l'installer n'importe où!


Vous avez quelques bonnes réponses ci-dessous, pourquoi ne les avez-vous pas votés?
Siddharth

Réponses:


3

L'environnement de script Android a dit de planifier Ruby . Peut-être vaut-il la peine de vérifier jusqu'où ils sont arrivés; au moins, ils sont étiquetés "JRuby" sur Google Code. Selon leur page de projet :

Les scripts peuvent être exécutés de manière interactive dans un terminal, en arrière-plan ou via Locale. Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl et shell sont actuellement pris en charge, et nous prévoyons d'en ajouter d'autres.

Mais soyez également conscient de:

SL4A est conçu pour les développeurs et est un logiciel de qualité alpha.

Un article intéressant sur ce sujet que vous voudrez peut-être lire est Hacking Android pendant les vacances . Il décrit une tentative (réussie) de configurer et d'utiliser SL4A à utiliser avec ao Ruby.


6

Ceci peut être fait

  1. Compiler Ruby et Nodejs pour Android
  2. Installer sur l'appareil et configurer avec c / c ++ ide (Vous pouvez utiliser C4droid, CCTools, Terminal IDE .... pour installer les modules d'extension sur с / с ++)
  3. Installer les rails ($ gem installer les rails)

exemple: (Cliquez sur l'image pour agrandir)
Capture d'écran 1 Capture d'écran 2 Capture d'écran 2


3

En ce qui concerne le rubis, vous pouvez essayer Termux .

Avec piles incluses. Pouvez-vous imaginer une calculatrice de poche plus puissante mais élégante qu'une console python alimentée par readline? Des versions à jour de perl, python, ruby ​​et node.js sont toutes disponibles.


0

En théorie, oui, vous pourriez le faire, mais il y aurait des limitations importantes. Vous aurez presque certainement besoin d'un appareil Android enraciné .

Par exemple, vous ne pourriez pas simplement gem install anythinget le faire fonctionner. Le problème est que le téléphone est trop limité en ressources pour exécuter un compilateur, vous ne pouvez donc pas compiler Ruby ou une gemme qui a besoin de bibliothèques natives.

La première façon de procéder serait donc de compiler de manière croisée ruby ​​et RubyGems avec Android NDK , puis de les charger latéralement sur l'appareil. À ce stade , vous avez rubyet gemet peut commencer à expérimenter.


0

En fait, j'ai modifié CyanogenMod pour créer vide "/ bin, / lib, / usr, / var, / svr, / home, / media, etc, etc" puis j'ai modifié "$ {racine_source} / system / core / include / private /android_filesystem_config.h "pour inclure des règles pour les répertoires, puis modifié ma carte SD externe afin qu'elle ne monte pas en tant que fusible ou avec le bit collant défini (elle définirait la propriété root: sdcard_rw pour tous les fichiers à l'intérieur) et après le démarrage, j'ai exécuté un script qui a monté les répertoires racine du bras Linux sur la carte SD externe vers les versions vides dans la racine d'Android. La version intégrée de glibc a été utilisée avec une image chroot armhf Linux Kali que j'ai créée, mais elle n'avait ni rubis ni métasploit. J'ai donc suivi quelques instructions sur la compilation de ruby ​​1.9.3 avec svn ou quelque chose, puis je l'ai utilisé pour installer metasploit, la seule chose était que postgresql n'a pas Cela ne fonctionne pas car la création de sockets et de fichiers est très sensible aux autorisations et les sockets ont peut-être été impliqués, donc aucune base de données postgres n'a encore essayé de se connecter à une base de données sur un autre hôte. Apache2 a fonctionné, j'ai fait tout le démarrage /etc/init.d/apache2 et l'alto, "Ça marche!" vous le savez si vous l'avez vu.

Donc, en bref, oui, vous pouvez compiler ruby ​​et bien d'autres programmes sur Android, la glibc doit juste être disponible, c'est-à-dire le répertoire / lib et le contenu sous Linux.

Et comme remarque, j'ai utilisé un Galaxy S III Sprint avec 2 Go de RAM. Python fonctionne très bien, je viens de commencer à expérimenter avec les sockets Unix avec python, ils se sont connectés à / sdcard mais je dois en savoir plus sur les politiques de sécurité d'Android sur les sockets et la création de bases de données avant d'aller plus loin avec l'obtention de metasploit et de travailler avec une base de données fonctionnant sur Android + glibc.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.