Est-il possible d'exécuter des applications Android sur Linux (normal)?

17

Étant donné qu'Android est un noyau Linux bifurqué plus une pile logicielle, je me demande s'il existe des projets ou des idées concernant la création d'une version d'Android pouvant être ajoutée à un système Linux pour permettre à un système Linux d'exécuter des applications Android (compilées pour, disons, x86 ).

Existe-t-il quelque chose comme ça ou serait-ce possible?

(Je ne parle pas de l'émulateur fourni avec le SDK.)

Andrew J. Brehm
la source
2
Le lecteur Android pour BlackBerry Playbook est proche, bien qu'il fonctionne bien sûr sur QNX et non sur Linux.
Matthieu lu

Réponses:

2

Les choses ont un peu changé au fil des ans depuis que cela a été publié.

Il existe maintenant plusieurs façons (mais aucune n'est encore parfaite) d'exécuter des applications Android sur Linux sans émulateur ni machine virtuelle.

  1. Shashlik propose une intégration assez agréable avec votre environnement de bureau GNU. Cependant, il manque les services Google Play.
  2. ARChon utilise Google Chrome et vous permet d'installer des applications Android comme s'il s'agissait d'applications Chrome. C'est assez soigné, mais ici aussi, la compatibilité n'est pas parfaite .
  3. Enfin, Google apporte officiellementdu Play Store à Chrome OS. Comme il s'agit d'un projet officiel développé par Google, je pense qu'il devrait avoir la meilleure compatibilité du lot. Chrome OS est une distribution Linux, basée sur Gentoo. La majeure partie de son code source est disponible via le projet Chromium OS. Ce code source étant disponible, il ne devrait pas être trop difficile de porter cette compatibilité aux distributions GNU / Linux populaires. Google est relativement convivial pour l'open source (au moins par rapport à Apple / Microsoft), et je ne pense pas qu'ils vont lever des obstacles à un tel portage. Si quoi que ce soit, ils semblent désireux que le Play Store frappe autant d'appareils que possible. Ils peuvent même intégrer cette fonctionnalité dans les futures versions de Google Chrome pour Linux, ou publier un package distinct. Ils publient la plupart du code source pour Android et Chrome OS,

Soit dit en passant, il n'est pas nécessaire de compiler les fichiers APK séparément pour x86. Les applications que vous écrivez sont compilées en code Dalvik Executable (DEX), qui est finalement converti en code assembleur (selon l'architecture requise) par le noyau pour être envoyé au processeur. (Cette dernière partie est tirée de cette réponse. )

Revetahw dit de réintégrer Monica
la source
12

Rien de tel n'existe encore car les applications ne sont pas exécutées en mode natif dans le système d'exploitation, mais elles utilisent plutôt Dalvik Virtual Machine ( Wikipedia ). Il est quelque peu comparable à Java dans le sens où il utilise le bytecode et crée un environnement séparé pour chaque application. Donc, à moins que l'environnement Dalvik ne soit porté sur d'autres plates-formes, ils ne peuvent pas être exécutés sur du matériel normal.

Il existe un projet appelé Alien Dalvik par Myriad qui essaie d'exécuter des applications Android dans différents environnements, mais il n'y a pas beaucoup d'informations à ce sujet. Myriad Alien Dalvik

onik
la source
1

Les choses ont encore changé depuis la publication de Revetahw.

Shashlik semble être un projet inactif, mais Anbox semble gagner du terrain. L'avantage d'Anbox est qu'il n'émule pas le noyau Android, mais utilise plutôt les fonctionnalités du noyau Linux pour partager le noyau entre votre système Linux et le système Android.

De plus, Chrome OS prend désormais en charge les applications Android stables sur plusieurs appareils, mais malheureusement, cette intégration est de source fermée, sans projet d'open source, a-t-elle annoncé.

L'homme d'étain
la source
0

Je ne sais pas s'il existe des projets de ce type. Ce qui s'approche le plus est probablement les projets android-x86 qui sont un port d'un environnement android sur des postes de travail de bureau: http://www.android-x86.org/

Juri
la source
1
Cela n'émule pas un environnement Android sur les postes de travail, c'est un portage d'Android sur des PC normaux.
Andrew J.Brehm
Bien sûr, ma formulation n'était pas très appropriée. Fixé, thx.
Juri