Você pode executar aplicativos de linha de comando do Linux no Android?

14

Eu sou novo no Android; na verdade, eu nunca tive um.

Mas estou viajando o verão inteiro e estou muito interessado em fazer alguma programação enquanto estou fugindo.

PERGUNTA: É possível executar um ambiente de desenvolvimento Ruby completo com o Emacs no Android? Quão?

E o "enraizamento" oferece algo parecido com um sistema Linux real?

o espelho
fonte
Como novo usuário, o Jackpal parece marcar as caixas como uma reformulação do Emulador de Terminal Android.
precisa

Respostas:

10

O "enraizamento" permite que você acesse o ambiente interno do Android, que obviamente consiste em mais do que apenas no kernel do Linux. Então você está executando o Linux, mas deve considerá-lo como se estivesse executando em uma distribuição diferente da que diz Debian ou Redhat.

Há um conjunto diferente de bibliotecas padrão e alguns arquivos estão em locais diferentes. Pelo menos no meu ext2suporte Droid não está embutido por padrão. Também não há initou cron. O conjunto completo de módulos Linux não está disponível, a menos que você os compile e os instale /system/lib/modules. Mais importantes que você pode faltar em ROMs padrão são cifs, ext2, tune outros.

A maioria, se não todos, os telefones com Android são CPUs ARM. Portanto, os binários executados neles devem ser binários ARM "EABI" "soft-float". Se você possui a fonte, pode compilar de forma cruzada os utilitários que precisar, mas continue lendo.

Há muitos comandos padrão e utilitários disponíveis no /system/bindiretório, como grep, ps, cp, rm, mv, ls, ip, mesmo vi. Você tem o suficiente para sobreviver até ...

... use o utilitário "Linux Installer" para instalar um chrootambiente Debian ed. O Debian suporta o ARM por um tempo. É preciso algum trabalho, mas se você pode fazer root no telefone e ter um cartão SD considerável o suficiente, esse é o caminho a seguir.

Isso é próximo a um sistema Linux padrão e, sob ele, você pode instalar e executar o Ruby. É claro que as limitações de CPU e RAM entram em jogo.

LawrenceC
fonte
5

O Ruby não foi portado para o Android, mas você pode conferir o Ruboto . Para edição simples, existem algumas opções, mas também não acredito que o emacs tenha sido portado, não há resultados de mercado.

O enraizamento pode fornecer a capacidade de executar o Linux no seu telefone, mas o Android não é o Linux. Seu kernel é amplamente baseado no kernel Linux, mas é isso. Você não pode executar nenhum aplicativo Linux com uma GUI no Android, ele precisaria ser reescrito. Não sei até que ponto os aplicativos de linha de comando nativos precisariam ser reescritos, embora, é claro, precisassem ser recompilados.

O Android também não possui uma Java VM completa.

Matthew Read
fonte
4

Você pode instalar uma distribuição Debian em funcionamento no seu telefone sem perturbar a distribuição no telefone. Dessa forma, você terá uma área de usuário completa com itens com os quais está acostumado em qualquer outra caixa do Linux. Você deve colocar o ssh no telefone para usá-lo confortavelmente.

Instale isto: https://play.google.com/store/apps/details?id=org.dyndns.sven_ola.debian_kit

awesomo4000
fonte
3

Atualmente, a porta Emacs para Android já existe:

  • android-emacs-toolkit lançado em 23 de junho de 2012:

    O Android-emacs-toolkit ajuda a criar um ambiente de desenvolvimento Android no emacs. Ele contém um modo principal do emacs, que ajuda a desenvolver o programa android sdk e ndk.

  • GNU Emacs portado para Android disponível na Google Play Store, última atualização em 23 de agosto de 2012:

    GNU Emacs portado para Android!

    É executado na versão modificada do Emulador de Terminal - requer teclado de hardware e uma tela bastante grande.

    Inclui Busybox e eshell. SSH (para TRAMP) e git estão planejados.


Além disso, você pode achar úteis as informações fornecidas pelo EmacsWiki - EmacsOnAndroid , que são essencialmente um guia sobre a instalação do Emacs em um dispositivo Android.

Zuul
fonte