Posso instalar o Ruby e Ruby on Rails em um Android?

8

Ciente de que isso é um pouco mental, mas posso instalar o Ruby em um Galaxy S4 executando o Jelly Bean 4.2? Um console no qual posso instalar gemas, percorrer rotas e executar o servidor Rails e navegar para o meu aplicativo colocando 0.0.0.0.3000 no Chrome?

Seria excelente para testar pequenas idéias e conceitos que tenho em qualquer lugar!

Consciente de que o Android não é UNIX, mas Deus, se eles podem instalá-lo no Windows, eles podem instalá-lo em qualquer lugar!

Starkers
fonte
Você tem boas respostas abaixo, qualquer motivo para não ter votado nelas?
perfil

Respostas:

3

O Android Scripting Environment disse que planeja Ruby . Pode valer a pena conferir até onde eles chegaram; pelo menos eles estão marcados com "JRuby" no Google Code. De acordo com a página do projeto :

Os scripts podem ser executados interativamente em um terminal, em segundo plano ou via Localidade. Atualmente, há suporte para Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl e shell, e estamos planejando adicionar mais.

Mas também esteja ciente de:

O SL4A foi desenvolvido para desenvolvedores e é um software de qualidade alfa.

Um artigo interessante sobre esse tópico que você pode querer ler é o Hacking Android durante as férias . Ele descreve uma tentativa (bem-sucedida) de configurar e usar o SL4A para ser usado com o Ruby.

Izzy
fonte
6

Isto pode ser feito

  1. Compile Ruby e Nodejs para android
  2. Instale no dispositivo e configure com c / c ++ ide (você pode usar C4droid, CCTools, Terminal IDE .... para instalar os módulos de expansão em с / с ++)
  3. Instalar trilhos ($ gem install trails)

exemplo: (Clique na imagem para ampliar)
Captura de tela 1 Captura de tela 2 Captura de tela 2

fann95
fonte
3

Quanto ao ruby, você pode experimentar o Termux .

Com pilhas incluídas. Você consegue imaginar uma calculadora de bolso mais poderosa e elegante do que um console python alimentado por readline? Versões atualizadas do perl, python, ruby ​​e node.js estão disponíveis.

yang
fonte
0

Em teoria, sim, você poderia fazer isso, mas haveria algumas limitações significativas. Você certamente precisará de um dispositivo Android enraizado .

Por exemplo, você não seria capaz de gem install anythingfazê-lo funcionar. O problema é que o telefone tem recursos limitados demais para executar um compilador; portanto, você não pode compilar o Ruby ou qualquer jóia que precise de bibliotecas nativas.

Portanto, a primeira maneira de fazer isso seria compilar o Ruby e o RubyGems com o NDK do Android e depois carregá-los no dispositivo. Neste ponto você tem rubye geme pode começar a experimentar.

Michael Hampton
fonte
0

Na verdade, modifiquei o CyanogenMod para criar "/ bin, / lib, / usr, / var, / svr, / home, / media, etc, etc" vazios e depois modifiquei "$ {source_root} / system / core / include / private" /android_filesystem_config.h "para incluir regras para os diretórios e depois modificou meu sdcard externo para que não fosse montado como fusível ou com o conjunto de bits pegajosos (ele configuraria a propriedade root: sdcard_rw para todos os arquivos internos) e após a inicialização, executei um script que montou os diretórios raiz do braço do Linux no sdcard externo para as versões vazias na raiz do Android. A versão incorporada do glibc foi usada com uma imagem chroot do Kali Linux armhf que eu criei, mas não tinha ruby ​​ou metasploit. Então, eu segui algumas instruções sobre a compilação do ruby ​​1.9.3 com svn ou algo assim e então usei isso para instalar o metasploit, a única coisa que o postgresql não fez ' t funciona porque a criação de soquetes e arquivos é muito sensível à permissão e os soquetes podem estar envolvidos; portanto, nenhum banco de dados do postgres ainda precisa tentar se conectar a um banco de dados em outro host. O Apache2 funcionou, eu iniciei o /etc/init.d/apache2 inteiro e viola, "It Works!" você sabe disso, se você já viu.

Então, resumindo, sim, você pode compilar ruby ​​e muitos outros programas no Android, o glibc só precisa estar disponível, ou seja, o diretório / lib e o conteúdo no Linux.

E como nota lateral, usei um Galaxy S III Sprint com 2 GB de RAM. O Python funciona muito bem, eu comecei a experimentar soquetes Unix com python, eles se conectaram em / sdcard, mas preciso aprender mais sobre as políticas de segurança do Android em soquetes e criação de banco de dados antes de prosseguir com a obtenção de metasploit e trabalhar com um banco de dados que trabalha com Android + glibc.

Overloaded_Operator
fonte