Могу ли я установить Ruby и Ruby on Rails на Android?

8

Сознавая, что это немного психически, но могу ли я установить Ruby на Galaxy S4 под управлением Jelly Bean 4.2? Консоль, где я могу устанавливать гемы, разбирать маршруты и запускать сервер Rails, а также просматривать свое приложение, поместив 0.0.0.0.3000 в Chrome?

Было бы отлично для тестирования маленьких идей и концепций, которые у меня есть, пока на ходу!

Зная, что Android - это не UNIX, но, боже, если они смогут установить его на Windows, они смогут установить его где угодно!

помешанный
источник
У вас есть несколько хороших ответов ниже, есть причина, почему вы не проголосовали за них?
Сиддхарт

Ответы:

3

В среде сценариев Android планируется использовать Ruby . Может стоит проверить, как далеко они продвинулись; по крайней мере, они помечены "JRuby" в Google Code. Согласно их странице проекта :

Скрипты можно запускать в интерактивном режиме в терминале, в фоновом режиме или через локаль. В настоящее время поддерживаются Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl и shell, и мы планируем добавить еще.

Но будьте также в курсе:

SL4A предназначен для разработчиков и представляет собой программное обеспечение альфа-качества.

Интересная статья на эту тему, которую вы можете прочитать, - это взлом Android во время праздников . Он описывает (успешную) попытку установки и использования SL4A для использования с Ruby.

Иззи
источник
6

это можно сделать

  1. Скомпилируйте Ruby и Nodejs для Android
  2. Установите на устройство и настройте с помощью c / c ++ ide (Вы можете использовать C4droid, CCTools, Terminal IDE .... для установки модулей расширения на с / с ++)
  3. Установить рельсы ($ gem установить рельсы)

Пример: (Нажмите на изображение, чтобы увеличить)
Снимок экрана 1 Снимок экрана 2 Снимок экрана 2

fann95
источник
3

Что касается рубина, вы можете попробовать Termux .

С батарейками в комплекте. Можете ли вы представить более мощный, но элегантный карманный калькулятор, чем консоль Python с поддержкой readline? Доступны актуальные версии perl, python, ruby ​​и node.js.

янь
источник
0

Теоретически, да, вы могли бы сделать это, но были бы некоторые существенные ограничения. Вам почти наверняка понадобится рутованное устройство Android.

Например, вы не сможете просто gem install anythingи заставить его работать. Проблема в том, что телефон слишком ограничен в ресурсах для запуска компилятора, поэтому вы не можете скомпилировать ни Ruby, ни любой гем, для которого нужны собственные библиотеки.

Итак, первый путь, по которому я пошел бы, это кросс-компиляция ruby ​​и RubyGems с Android NDK, а затем загрузка их на устройство. На данный момент у вас есть rubyи gemи может начать экспериментировать.

Майкл Хэмптон
источник
0

На самом деле я изменил CyanogenMod для создания пустых "/ bin, / lib, / usr, / var, / svr, / home, / media и т. Д. И т. Д.", А затем изменил "$ {source_root} / system / core / include / private /android_filesystem_config.h ", чтобы включить правила для каталогов, а затем изменил мою внешнюю SD-карту, чтобы она не монтировалась как fuse или с установленным закрепленным битом (это установило бы владение root: sdcard_rw для всех файлов внутри), и после запуска я запустил скрипт, который монтирует корневые каталоги Linux на внешней SD-карте в пустые версии в корне Android. Встроенная версия glibc использовалась с созданным мною созданным образом Kali Linux armhf, но в нем не было рубина или метасплойта. Поэтому я следовал некоторым указаниям по компиляции ruby ​​1.9.3 с помощью svn или чего-то еще, а затем использовал это для установки metasploit, единственное, что postgresql не сделал Это работает, потому что создание сокетов и файлов очень чувствительно к разрешению, и сокеты, возможно, были задействованы, поэтому ни одна база данных postgres, тем не менее, еще не пыталась подключиться к БД на другом хосте. Apache2 работал, я полностью запустил /etc/init.d/apache2 и альт "Это работает!" Вы знаете, что если вы видели это.

Короче говоря, да, вы можете скомпилировать ruby ​​и многие другие программы на Android, просто необходим glibc, т. Е. Каталог / lib и его содержимое в Linux.

В качестве примечания я использовал Galaxy S III Sprint с 2 ГБ оперативной памяти. Python отлично работает, я только начал экспериментировать с сокетами Unix с python, они подключились в / sdcard, но мне нужно больше узнать о политиках безопасности Android в сокетах и ​​создании базы данных, прежде чем я продолжу работу над получением metasploit и работой с базой данных, работающей на Android + glibc.

Overloaded_Operator
источник