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ù!
development
Nu comme un ver
la source
la source
Réponses:
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 :
Mais soyez également conscient de:
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.
la source
Ceci peut être fait
exemple: (Cliquez sur l'image pour agrandir)
la source
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.
la source
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 anything
et 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
ruby
etgem
et peut commencer à expérimenter.la source
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.
la source