Pouvez-vous exécuter des applications de ligne de commande Linux sur Android?

14

Je suis tout nouveau sur Android; en fait, je n'en ai jamais possédé.

Mais je voyage tout cet été et je suis très intéressé à faire de la programmation pendant que je suis en fuite.

QUESTION: Est-il possible d'exécuter un environnement de développement Ruby complet avec Emacs sur Android? Comment?

Et le "rooting" vous donne-t-il quelque chose de proche d'un vrai système Linux?

le miroir
la source
En tant que nouvel utilisateur, Jackpal a l' air de cocher les cases comme une refonte de l'émulateur de terminal Android.
Laurie Stearn

Réponses:

10

"Enracinement" vous permet d'accéder à l'environnement interne d'Android, qui comprend bien sûr plus que le noyau Linux. Vous utilisez donc Linux, mais vous devriez le considérer comme si vous fonctionniez sous une distribution différente de celle de Debian ou Redhat.

Il existe un ensemble différent de bibliothèques standard et certains fichiers se trouvent à différents emplacements. Au moins, mon ext2support Droid n'est pas intégré par défaut. Il n'y a pas non plus de initou cron. L'ensemble complet des modules Linux n'est pas disponible, sauf si vous les compilez vous-même et les insérez ensuite /system/lib/modules. Plus importantes que vous pouvez manquer sur ROM standard sont cifs, ext2, tunet d' autres.

La plupart, sinon la totalité, des téléphones fonctionnant sous Android sont des processeurs ARM. Les binaires que vous exécutez doivent donc être des binaires ARM "EABI" "à flotteur progressif". Si vous avez la source, vous pouvez compiler de manière croisée tous les utilitaires dont vous avez besoin, mais lisez la suite.

Il y a beaucoup de commandes standard et utilitaires disponibles dans le /system/binrépertoire tel que grep, ps, cp, rm, mv, ls, ip, même vi. Vous avez de quoi vous débrouiller jusqu'à ce que vous ...

... utilisez l'utilitaire "Linux Installer" pour installer un chrootenvironnement Debian édité. Debian prend en charge ARM depuis un certain temps. Cela prend un peu de travail, mais si vous pouvez rooter votre téléphone et avoir une carte SD assez importante, c'est la voie à suivre.

C'est proche d'un système Linux standard et en dessous, vous pouvez installer et exécuter Ruby. Bien sûr, les limitations du processeur et de la RAM entrent en jeu.

LawrenceC
la source
5

Ruby n'a pas été porté sur Android, mais vous voudrez peut-être consulter Ruboto . Pour une édition simple, il y a quelques options, mais je ne pense pas non plus qu'emacs ait été porté, il n'y a de toute façon aucun résultat sur le marché.

L'enracinement peut vous permettre d'exécuter Linux sur votre téléphone, mais Android n'est pas Linux. Son noyau est largement basé sur le noyau Linux mais c'est à peu près tout. Vous ne pouvez exécuter aucune application Linux avec une interface graphique sur Android, elle devrait être réécrite. Je ne sais pas dans quelle mesure les applications de ligne de commande natives devraient être réécrites, bien qu'elles devraient bien sûr être recompilées.

Android n'a pas non plus de machine virtuelle Java complète.

Matthew Read
la source
4

Vous pouvez installer une distribution debian fonctionnelle sur votre téléphone sans perturber déjà la distribution sur le téléphone. De cette façon, vous aurez un espace utilisateur complet avec des choses auxquelles vous êtes habitué sur n'importe quelle autre boîte Linux. Vous devriez utiliser votre téléphone pour l'utiliser confortablement.

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

awesomo4000
la source
3

À l'heure actuelle, le port Emacs pour Android existe déjà:

  • android-emacs-toolkit sorti le 23 juin 2012:

    Android-emacs-toolkit aide à créer un environnement de développement Android sur emacs. Il contient un mode principal emacs qui aide à développer les programmes Android SDK et NDK.

  • GNU Emacs porté sur Android disponible sur Google Play Store, dernière mise à jour le 23 août 2012:

    GNU Emacs porté sur Android!

    Fonctionne sur une version modifiée de Terminal Emulator - nécessite un clavier matériel et un écran assez grand.

    Comprend Busybox et eshell. SSH (pour TRAMP) et git sont prévus.


De plus, vous pouvez trouver utiles les informations fournies par EmacsWiki - EmacsOnAndroid , qui est essentiellement un guide sur l'installation d'Emacs sur un appareil Android.

Zuul
la source
0

Essayez cette méthode. Fondamentalement, tout c, C ++ compilé pour ARM fonctionnera http://geeknizer.com/install-run-linux-applications-on-android/

Rahul
la source
4
Pouvez-vous inclure les étapes ou au moins le résumer ici? Les réponses liées uniquement aux liens ont tendance à se relier aux liens et ne sont pas considérées comme un bon style ici.
ce4