Il existe déjà des projets qui permettent de lancer des applications Android sur un PC, mais il s’agit en général d’émulateurs. Il y a également des solutions comme Remix OS, une version personnalisée d’Android destinée à s’exécuter sur PC, et qui permet de lancer n’importe quelle application Android. Google a lui-même un projet similaire. On parlait tantôt de la possibilité de lancer des applications Android sur les Chromebook, tantôt de la possibilité de fusionner Android et Chrome OS pour donner naissance à un nouvel OS connu sous le nom de code Andromeda.
Le projet de Simon Fels est baptisé Anbox (pour Android in a Box) et est complètement open source. La majorité du code est sous licence GPLv3, et le reste sous licence Apache 2.0 pour des raisons de compatibilité avec le code emprunté à d'autres projets. Anbox utilise une approche de conteneur pour exécuter un système Android complet sur un système GNU/Linux standard comme Ubuntu.
Sur GitHub, il est expliqué qu’Anbox utilise des namespaces Linux pour exécuter un système Android complet dans un conteneur basé sur LXC. Le système Android à l'intérieur du conteneur n'a aucun accès direct au matériel, encore moins aux données du système hôte. Il utilise différents canaux pour communiquer avec le système hôte et envoie toutes les commandes d'accès matériel à travers ces canaux. Pour son projet, Simon Fels réutilise également une partie du code de l’implémentation de l’émulateur Android basé sur QEMU pour le rendu accéléré Open GL ES.
Lorsque vous installez Anbox pour la première fois, vous disposez de quelques applications Android de base telles que les applications Calculatrice, Contacts, Courrier électronique, Galerie et Fichiers. Il permet en principe d’exécuter n’importe quelle application Android. Il n’y a pas d’émulation requise. Anbox exécute Android sur le même noyau que le système hôte, ce qui assure une meilleure intégration des applications Android avec le système hôte.
Le processus d'installation comporte actuellement quelques étapes qui permettent d'ajouter des composants supplémentaires au système hôte. Pour rendre ce processus aussi simple que possible, les étapes nécessaires sont empaquetées dans un snap « anbox-installer ». Pour information, un snap est un package Linux universel, c'est-à-dire qui peut fonctionner sur n'importe quelle distribution et n'importe quel périphérique (IoT, serveurs, desktop, mobile, etc.). Le programme d'installation effectuera toutes les étapes nécessaires, mais Anbox ne peut donc être installé que sur des systèmes prenant en charge les snaps, donc éventuellement sur Ubuntu, Arch Linux, Debian, Fedora, OpenSUSE et plusieurs autres systèmes d'exploitation populaires basés sur Linux.
Anbox est actuellement adapté pour être utilisé sur des PC. Il a été officiellement testé sur Ubuntu 16.04, mais il est susceptible de fonctionner également sur Ubuntu 14.04, 16.10 et 17.04, comme il est indiqué sur GitHub. Après quelques modifications de la version actuelle, il peut aussi être utilisé sur les systèmes d'exploitation mobiles comme Ubuntu Touch, Sailfish OS ou Lune OS. « La preuve de concept initiale a en effet été effectuée sur un appareil Ubuntu Touch. Depuis lors, Anbox a évolué un peu et l'objectif principal de développement a été axé sur les dispositifs de bureau. Cependant, des expériences récentes montrent qu'Anbox fonctionne toujours bien (avec quelques réglages) sur les appareils mobiles basés sur Ubuntu Touch », explique Simon Fels.
Anbox est encore en version préalpha, avec donc des bogues et une certaine instabilité. Simon ouvre son projet pour se concentrer sur la stabilité et la correction des bogues, mais aussi ajouter plus de fonctionnalités nécessaires pour une meilleure intégration avec le système d'exploitation hôte.
Sources : Anbox.io, Blog personnel de Simon Fels, GitHub
Et vous ?
Que pensez-vous de ce projet ? Pour vous, qu’est-ce qu’il apporte de différent des alternatives existantes ?
Voir aussi :
Remix OS 2.0 : une version personnalisée d'Android exécutable sur PC ou sur un mini-ordinateur dédié de 70 $
Google annonce que tous les Chromebook de 2017 pourront lancer des applications Android, et met à jour la liste des anciens modèles compatibles
Andromeda : Google pourrait annoncer la fusion de Chrome OS et Android le 4 octobre, le système hybride serait en phase de test sur le Nexus 9