Anbox permet de lancer des applications Android directement sous Linux

Et si vous pouviez lancer une application Android comme un programme classique sous Linux? On clique sur une icône du Google Play et votre application s’ouvre dans une fenêtre à côté d’une application Linux classique. C’est ce que propose Anbox.

Cela fait longtemps que l’exploitation d’applications Android est possible sur PC. Sous Windows on connait des émulateurs qui permettent de retrouver les fonctionnalités de ces programmes facilement. Mais Anbox propose une autre vision de ce type d’usages.

Anbox

Anbox utilise QEMU comme émulateur d’Android, permettant ainsi au système de faire tourner les applications de manière transparente. Le système permet d’utiliser les applications Android de la même manière que les programmes classiques et profitent des mêmes enrichissements ergonomiques.

Toujours en Alpha, Anbox est un projet OpenSource qui s’interface pour le moment avec pas mal de distributions comme Ubuntu, Fedora, Arch, Debian et bien d’autres. L’ouverture du programme devrait permettre de le modifier efficacement pour qu’il évolue rapidement et s’améliore. On devrait trouver des versions pour tout type de distribution afin de profiter de ces applications facilement et efficacement.

Anbox

Attention, cela ne veut pas dire que les applications les plus gourmandes seront pilotées de manière parfaite sous votre distribution Linux, cela n’ouvre pas la porte non plus à la totalité des applications. Beaucoup exigent des éléments techniques précis pour être exécutées et il semble difficile de leur apporter une réponse via Anbox.

Anbox

C’est néanmoins une solution intéressante pour les développeurs mais également pour d’autres usagers qui pourraient retrouver un morceau de l’univers d’Android à portée de clic sur leur bureau.

Etonnant de voir comme les nouvelles se percutent en ce moment, quelques jours après avoir appris que Canonical abandonnait le développement d’Ubuntu sur tablette, on découvre Anbox qui permettrait de piloter des applications Android sous Ubuntu…

source : anbox.ioHacker News et Liliputing

24 commentaires sur ce sujet.
  • fpp
    12 avril 2017 - 13 h 01 min

    Donc en gros, l’inversion du principe de Crouton, qui faisait tourner Linux dans un chroot sous ChromeOS (y compris dans un onglet de Chrome). Juste retour des choses :-)

    Répondre
  • 12 avril 2017 - 13 h 40 min

    un docker configuré avec l’api d’android?

    Répondre
  • 12 avril 2017 - 14 h 25 min

    Tout ça c’est chouette mais les gars ils voudraient pas commencer par régler les soucis avec l’UEFI d’abord? Non parce que déjà pouvoir installer une distri Linux sans devoir hacker le pentagone en nageant le crawl dans une rivière de mélasse, ce serait une bonne base avant d’utiliser du Android dedans…
    Je sais, ça n’a rien à voir mais quand je vois les trésors d’ingéniosité qu’ils nous sortent en ce moment, je ne comprends pas que personne n’arrive à re-démocratiser l’installation de Linux.
    Franchement, moi je paierais pour retrouver un petit wubi comme à l’époque.

    Répondre
  • 12 avril 2017 - 15 h 00 min

    C’est justement là que ça m’interpelle. On a là un programme génial permettant d’exécuter des applications Android de manière bien plus “naturelle” qu’un émulateur Android.

    Canonical a fermé toute suite à Ubuntu Touch là où ils auraient dû promouvoir cette technologie pour faire un nouveau smartphone “Edge” (ou en partenaria avec un constructeur, comme Google, ou Firefox) avec Andbox pour ouvrir des appli Android sur leur smartphone. Je veux dire par là, c’est pas apparu d’un seul coup cet Andbox, pourquoi ne pas avoir cherché ce type de solution avant de tirer un trait sur Ubuntu Touch ?

    C’est très étrange quand même. S’ils avaient attendu quelques jours, cette opportunité aurait peut-être remis en cause leur vision et on aurait peut-être des smartphones/tablettes libres, optimisés et compatibles avec pas mal d’applications Android.

    Je pense sincèrement que tirer un trait sur Ubuntu Touch est la plus grande erreur de Canonical, là où la communauté tend à faciliter les applications smartphone/tablette dans Ubuntu.

    Répondre
  • 12 avril 2017 - 15 h 16 min
  • 12 avril 2017 - 15 h 45 min

    @prog-amateur: Tout à fait. Maintenant, vu les performances assez médiocres d’Ubuntu Touch avec les applications “natives” en html5, je pense qu’il restait quand même un énorme travail d’optimisation et que faire que ce anbox soit utilisable sur un téléphone Ubuntu Touch ne serait pas fait très vite.

    Je ne sais pas combien de ressources étaient sur le développement d’Ubuntu Touch mais ils ont tenté l’aventure un peu tard et, d’un point de vue end-user en tous cas, ça n’avançait vraiment pas vite.
    Je ne dis pas qu’arrêter Ubuntu Touch est une bonne chose (perso, je comptais pas mal dessus pour offrir une alternative à Android) mais faut reconnaître que ça sentait pas bon quand même, malgré les qualités.
    Reste l’espoir qu’avec les prochaines versions “convergentes” de l’OS, il n’y aurait plus besoin d’une interface particulière pour tourner sur un tel. Mais bon sans Unity, ça sent un peu le sapin là-aussi pour une quelconque ergonomie intéressante sur un petit écran.

    Après que Canonical lâche Ubuntu Touch pour se consacrer aux wearables et aux IOT, j’avoue que je ne suis pas trop la logique non plus.

    Répondre
  • 12 avril 2017 - 17 h 39 min

    C’est tout de même dommage de ne pas savoir lire complètement le README.md qui explique bien que Anbox utilise l’émulateur android intégré à Android : QEMU qui est bien un système virtuel.

    Ce n’est donc pas le noyau Linux qui permet cet “exploit” puisque cela relève de QEMU qui est le sous-programme ET l’émulateur ! ^^

    “The Android inside the container has no direct access to any hardware. All hardware access is going through the anbox daemon on the host. We’re reusing what Android implemented within the QEMU based emulator for Open GL ES accelerated rendering. The Android system inside the container uses different pipes to communicate with the host system and sends all hardware access commands through these”

    Un peu de rigueur ne ferait pas de mal et donc l’article est totalement à remanier.

    Mais bon, j’imagine que ce commentaire va être censuré…

    Répondre
  • 12 avril 2017 - 17 h 58 min

    @Oups: Pourquoi tant d’agressivité ? S’il s’est trompé, n’hésite pas à le lui dire, je suis sûr qu’il prendrait la critique de manière constructive, et ce grâce à ta remarque.

    Répondre
  • gUI
    12 avril 2017 - 18 h 16 min

    @Oups: Caaaaaaalme…

    Mais oui rappelons que :
    – c’est pas parce que c’est le même CPU que porter un OS sera facile (cf les smartphones Intel qui ont suscité qques fantasmes comme quoi on pourrait “facilement” y faire tourner Windows). Le CPU c’est 10% des emmerdes sous un OS. Tout le reste, c’est les périphériques, le firmware (“BIOS”, bootloader) etc.

    – c’est pas parce que le noyau est le même que les applications peuvent se porter facilement (cf notre cas ici).
    Une appli ne fait pas que faire des appels au noyau, surtout sous Android. Android peut être considéré comme justement une grosse couche entre les applis et le noyau. Porter une appli Android hors de Android, c’est savoir répondre à tous ses appels (AOSP), c’est un boulot de dingue (mais théoriquement faisable… théoriquement).

    Répondre
  • 12 avril 2017 - 18 h 17 min

    @Eeegr: Merci pour le lien. J’ai déjà lu cette info et comme je l’ai déjà commenté sur le site Ubuntu fr, je pense qu’avec lrs moyens limités dont ils disposent, y a des chances que cette remobilisation (le site était un peu inanimé avant l’annonce de Canonical) ne soit qu’éphémère. Après, qui sait…
    @BaffTech: Le CEO de Canonical qui assure que l’IoT c’est e futur. Il faire toujours ça avant de balayer ses projets d’un revers de main. Si ils se mettent aujourd’hui à développer Ubuntu Touch avec Xiaomi ou Meizu, sans vouloir être multi-plateforme, ils feraient sûrement un bon job. Rien que le Meizu Pro 5 (depassé) sur lequel je tape en ce moment est très réactif par rapport au MX4 ou un BQ. (depassé). Leur problème sur le Pro 5 était au niveau des bugs surtout. dommage d’avoir enterré Unity, la convergence, et Ubuntu Touch en un coup.
    Ceci dit, chouette émulateur (comme dirait Oups) que ce Andbox.

    Répondre
  • 12 avril 2017 - 18 h 55 min

    Pourquoi mon commentaire a disparu ?

    Répondre
  • 12 avril 2017 - 18 h 56 min

    @gbetous: oups désolé, erreur de manip de ma part manifestement…

    Répondre
  • 12 avril 2017 - 19 h 30 min

    Désolé, mais quand je vois un article qui fait part d’un processus totalement erroné avec pourtant un lien directement sur le Readme.md du projet qui explique parfaitement bien le fonctionnement de Anbox, ça me fout effectivement les boules alors que personne manifestement n’avait compris le problème si je me base sur les commentaires précédents…

    Malgré tout, je trouve mon commentaire très modéré et qu’il y a beaucoup de retenu de ma part…

    Répondre
  • 12 avril 2017 - 20 h 07 min

    @BaffTech: Les dieux t’ont écouté, Deepin Linux 14 intègre et soutient Wubi.

    Répondre
  • 12 avril 2017 - 20 h 36 min

    @Oups: on peut se tromper, regarde toi tu as bien réussi à venir relever une erreur tout en compensant la pertinence de ta remarque par des leçons de rigueur et de pseudo-censure totalement inutiles ;)

    Répondre
  • 12 avril 2017 - 21 h 36 min

    tres bonne initiative , ca ne ce lance pas pour les 3/4 des gens mais c’est une pré alfa .

    Répondre
  • 12 avril 2017 - 21 h 51 min

    @Hoscko: Oh? Merci pour l’info, je vais aller regarder ça de plus près !

    Répondre
  • 12 avril 2017 - 22 h 28 min

    @Oups:
    Non ton commentaire n’est pas modéré, rien que ta dernière phrase le prouve : ” Mais bon, j’imagine que ce commentaire va être censuré…”
    C’est bien mal connaitre Pierre et son blogue. D’ailleurs tu as vu ? Ton commentaire est resté !

    Répondre
  • 13 avril 2017 - 13 h 08 min

    @oups
    Si tu trouve ton commentaire modéré, je te conseille de d’aller les faire ailleurs, on a n’a pas la même notion de la modération

    Répondre
  • 13 avril 2017 - 13 h 23 min

    @Oups: Merci pour l’info, j’ai effectivement mal compris le fonctionnement d’Anbox, persuadé au vu de l’interface que c’était bien le noyau de Linux qui réussissait cet exploit au travers d’un dialogue android/linux développé par Anbox. Le nom même d’Anbox aurait d’ailleurs du me mettre la puce à l’oreille.

    Pour la censure par contre, tu t’es trompé de blog ^^. Je pense qu’on peut apprendre de ses erreurs et ici la communauté des commentateurs est souvent aussi pertinente que l’auteur. Je ne suis pas très calé dans le monde Linux, j’ai été élevé au Windows et je nage parfois à contre courant de mes réflexes pour en parler; cela donne des approximations que les lecteurs corrigent volontiers en me pardonnant. Cela compense.

    @les autres : C’est gentil de prendre ma défense et je vous en remercie mais franchement, j’ai déjà lu pire sur le net. Il faut imaginer que Oups est de passage et qu’il n’a pas forcément la “culture” du blog. Son commentaire part d’une bonne intention et sa remarque sur la censure vient plutôt de l’atmosphère qui règne souvent ailleurs… Peace :)

    Répondre
  • 13 avril 2017 - 18 h 32 min

    @Oups:

    Sur la page d’accueil http://anbox.io/ , on peut lire ceci:

    How does it work?
    Anbox puts the Android operating system into a container, abstracts hardware access and integrates core system services into a GNU/Linux system. Every Android application will behave integrated into your operating system like any other native application.

    Le terme employé ici est “container”, pas “émulateur”.

    Un peu plus bas il y a une FAQ avec notamment la question suivante:

    What makes Anbox different from other projects like Shashlik or Genimobile?
    Projects like Shashlik or Genimobile use an emulator to run the Android environment. The emulator creates an entire emulated system which has its own kernel etc whereas Anbox runs the Android system under the same kernel as the host operating system does. There is no emulation layer like QEMU necessary. Everything runs directly on the hardware. This approach also allows a much better integration with the host operating system.

    Cela confirme qu’Anbox n’est PAS un émulateur.
    Il s’agit probablement d’un conteneur géré par le noyau Linux, genre LXC.

    Un peu de rigueur ne ferait pas de mal et donc ton commentaire est totalement à remanier.

    Répondre
  • 13 avril 2017 - 18 h 37 min

    @gUI:
    C’est exactement ce qu’avait développé Myriad avec son “alien dalvik (4.3) virtual machine” et sur un kernel armhf linux-Sailfish 3.4.108.20161101.1 pur glibc et libhydris (android c’est de la libc bionic), cela fonctionne plutôt bien … rassurez vous tous, après en avoir écrit une version X86 pour la Jolla tablet, le développement du truc si malin est arrêté …

    Répondre
  • 14 avril 2017 - 12 h 55 min

    @Oups Oups,

    Je ne sais pas qui du site de Anbox.io ou du Readme.md du code source Anbox ment mais il y a manifestement une très grosse contradiction quelque part et un des deux qui ment, ça c’est parfaitement clair… ^^ lol

    Mais de toute façon, il ne suffit pas de lire la profession de foi, mais de bien suivre la procédure concrète et complète pour atteindre l’objectif !!!

    Je n’ai pas encore été jusqu’à lancer la procédure complète pour voir comment il fonctionne, mais si je me base sur la procédure de principe à suivre il faut déjà télécharger l’arbre complet d’un fork d’Android AOSP via un repo init…, puis un repo sync…, puis lancer un build pour obtenir deux fichiers appelés : ramdisk.img et system.img.

    Ensuite, il faut lancer un script “create-package.sh” qui va créer un fichier appelé android.img.

    Jusque là et au vue de mon expérience, cela ressemble étrangement à la procédure pour la création d’un Android-x86 à quelques détails près et toujours par expérience, suivant la puissance du PC et la qualité de la connexion internet cela peut prendre entre plusieurs heures à largement plus d’une journée… si tout ce passe bien et du premier coup… ^^
    Bilan, un bon 100 Go d’espace disque disponible à la fois pour le téléchargement du code source et pour le build…

    C’est ensuite que je suis pour le moment en eau trouble puisque je ne suis pas encore très au fait des fichiers snap et du principe de containers dans la pratique, mais il semblerait que Anbox intègre le fichier android.img dans un fichier snap afin qu’il soit utilisable par le système hôte via un container qui permet de l’isoler de ce même système hôte…

    Pour le moment, je n’ai pas été plus loin puisque de toute façon je fonctionne avec une version plus ancienne de Linux que le pré-requis et je n’ai surtout pas trop envie qu’il me foute le boxon sur le PC que j’utilise au quotidien.

    Mais en l’état des choses et dans la pratique, si je me base sur le script “anbox-installer” il doit modifier certains fichiers système, télécharger quelques trucs et des modules machins, télécharger et installer un snap anbox qui sera utilisé comme un service de la distribution Linux via un système de pipes…

    Autre possibilité : Anbox utilise toute la partie Android (ART, bionic, frameworks, etc… mais sans le kernel puisqu’il utiliserait le kernel existant avec quelques modifications (* Out-of-tree kernel modules for binder and ashmem as no distribution kernel ships both enabled.)… ^^

    Donc, en réalité, DE MON POINT DE VUE, c’est une véritable usine à gaz déguisée qui utilise soit l’émulateur Android QEMU dans un container, soit il ferait usage des mêmes appels système que QEMU et donc de ce fait, ça resterait un émulateur Android qui ne veut pas dire son nom… ^^

    Mais si tu as une meilleure explication technique autre que la profession de foi, je suis tout ouï et on pourra éventuellement rediscuter de la rigueur de mon commentaire et quant à l’opportunité de le remanier… ;)

    Répondre
  • 9 septembre 2017 - 13 h 04 min

    @Oups:
    Hahaha. En lisant l’article je me suis dis : tiens il se plante en parlant de QEmu comme émulateur. Et je vois ton commentaire 😋

    Nan, anbox n’utilise pas du tout QEmu mais bien les containers (une possibilité offerte par le noyaux Linux). Il utilise donc bien le kernel de la machine. Mais comme l’explique le Readme, ils ont utilisé une technique inclus dans QEmu pour avoir de l’accélération graphique en OpenGL.
    Mais ça n’utilise aucun émulateur.
    Le kernel et toutes les libraires sont lancés dans une sandbox qui ne permet pas l’accès à toutes les ressources de la machine.
    C’est toute la différence avec les autres applis basées sur des emus. Anbox utilise actuellement snap comme système de container qui est une techno Ubuntu.

    Répondre
  • LAISSER UN COMMENTAIRE

    *

    *