Passer d’un système d’exploitation à l’autre semble être une expérience intéressante à mener. Les férus de technologie savent que tous les systèmes d’exploitation ont leurs limites, mais lorsque vous disposez des meilleures solutions, vous pouvez repousser ces limites.

Dans le paysage technologique en constante évolution, il existe un groupe d’individus passionnés qui ne se contentent pas du statu quo. Les “geeks”, comme on les appelle affectueusement, recherchent sans cesse de nouveaux défis, explorent des territoires inexplorés et repoussent les limites du possible.

La fusion de deux puissants systèmes d’exploitation, Android et Linux, est l’une des initiatives qui a suscité le plus d’intérêt et de curiosité chez ces passionnés : Android et Linux. Le désir de faire fonctionner Android sur Linux est devenu une quête captivante pour ces esprits férus de technologie.

Pourquoi utiliser Android sous Linux ?

La réponse réside dans la convergence de deux systèmes exceptionnellement performants, chacun excellant dans son propre domaine. Android, le système d’exploitation mobile très répandu développé par Google, est devenu la pierre angulaire de l’ère des smartphones modernes.

D’autre part, Linux, un système d’exploitation très polyvalent et à code source ouvert, domine le monde des serveurs, des systèmes embarqués et des appareils informatiques. Il est vénéré pour sa stabilité, sa sécurité et sa flexibilité. Voici quelques bonnes raisons d’utiliser Android sur Linux :

  • Emulation et test d’applications
  • Exploration de sources ouvertes
  • Personnalisation et adaptation
  • Utilisation des ressources et performances
  • Sécurité et confidentialité
  • Multifonctionnalité d’un seul appareil
  • Apprentissage et développement des compétences

Nous allons maintenant voir comment faire fonctionner Android sous Linux.

Comment faire fonctionner Android sous Linux ?

Il existe évidemment plusieurs façons d’exécuter des applications Android sous Linux. L’utilisation d’émulateurs est l’une des méthodes les plus courantes de nos jours. Mais le monde ne se limite pas aux émulateurs. Il existe des méthodes telles que les projets x86, les machines virtuelles, les scripts, les intégrations de systèmes d’exploitation, etc.

Cependant, la plupart d’entre elles sont difficiles en termes de technicité, à l’exception des émulateurs. C’est pourquoi les émulateurs sont utilisés chaque fois que les utilisateurs veulent exécuter des applications Android sur Linux.

Les autres moyens populaires d’exécuter Android sur Linux sont complètement différents de l’utilisation d’émulateurs. L’utilisation d’Android x86 Project powered by Apache est un moyen de porter Android OS sur des systèmes d’exploitation Open Source comme Linux. Par ailleurs, certaines couches de compatibilité, telles que Shashlik, permettent à l’utilisateur d’exécuter Android sur Linux sans aucun logiciel d’émulation.

Les émulateurs simulent simplement le système d’exploitation Android sur un système Linux. Pour ce faire, ils utilisent un logiciel spécialement développé à cet effet. La plupart des acteurs du secteur du génie logiciel utilisent cette méthode.

Explorons les meilleures plateformes qui ont émergé des efforts de ces experts techniques. Chaque plateforme offre des capacités uniques grâce aux progrès constants de la technologie.

Anbox Cloud

Anbox Cloud est une plateforme basée sur le cloud qui facilite l’intégration transparente des applications Android dans divers environnements cloud. Sa nature hautement évolutive permet une gestion efficace des charges de travail, ce qui en fait un excellent choix pour les déploiements à petite échelle comme pour les déploiements au niveau de l’entreprise. Contrairement aux émulateurs traditionnels, Anbox Cloud exécute Android dans des conteneurs système, ce qui garantit de meilleures performances et une réduction des frais généraux.

Grâce à sa compatibilité étendue avec les principaux fournisseurs de services cloud tels que AWS, OCI, Azure et GCP, Anbox Cloud offre la flexibilité nécessaire pour fonctionner sur une large gamme de serveurs cloud. En outre, pour les utilisateurs en quête de confidentialité et de personnalisation, la plateforme peut également être utilisée sur des clouds privés avec une latence de streaming ultra-faible.

Anbox Cloud offre une rentabilité supérieure, permettant aux utilisateurs de maximiser l’utilisation des ressources. Il dispose de capacités d’automatisation complètes, rationalisant les tâches opérationnelles et réduisant les interventions manuelles. En outre, la plateforme cloud prend en charge la mise à l’échelle élastique, ce qui permet aux applications d’ajuster dynamiquement leurs besoins en ressources en fonction de la demande.

La plateforme dispose d’une pile de streaming avancée, contribuant à une faible latence et à des taux de trame élevés pour le streaming d’applications mobiles et de jeux vers des appareils distants. Elle est adaptable aux architectures Arm et x86. Il s’agit d’une plateforme entièrement gérée, qui offre aux utilisateurs une expérience sans tracas et les libère du fardeau de la maintenance et de la gestion de l’infrastructure. Un support technique de premier ordre est disponible, garantissant une assistance et une résolution rapides des problèmes.

Anbox permet la fourniture sécurisée d’applications mobiles sur site et intègre une sécurité des applications gérée de manière centralisée. Elle prend en charge différents modèles de déploiement, tels que BYOD (Bring Your Own Device), CYOD (Choose Your Own Device), COPE (Company-Owned, Personally-Enabled) et COBO (Company-Owned, Business-Only).

Anbox Cloud offre un gain de temps incroyable grâce à ses capacités de test automatisé des applications. Les utilisateurs peuvent émuler des milliers d’appareils Android différents, simuler divers scénarios de test et intégrer de manière transparente les tests dans leurs pipelines CI/CD (intégration continue/déploiement continu).

Waydroid

Waydroid

Waydroid est une plateforme innovante et gratuite basée sur des conteneurs qui apporte l’expérience complète d’Android aux systèmes GNU/Linux ordinaires comme Ubuntu. Il s’agit d’une solution open-source puissante, dotée de fonctionnalités intéressantes, qui constitue une option attrayante pour les passionnés d’Android sur Linux.

Waydroid intègre de manière transparente les applications Android dans l’environnement GNU/Linux hôte. L’expérience d’intégration complète des applications se produit lorsque les applications Android fonctionnent comme si elles étaient natives du système Linux.

De plus, Waydroid supporte le mode multi-fenêtres, permettant aux utilisateurs d’exécuter plusieurs applications Android simultanément. Le mode full UI garantit une expérience Android complète, avec tous les éléments graphiques familiers d’Android, tels que le panneau de notification, la barre d’état et le tiroir d’applications.

En utilisant les espaces de noms Linux (user, pid, uts, net, mount, ipc), Waydroid atteint un niveau d’efficacité impressionnant, garantissant un fonctionnement fluide sur l’hôte GNU/Linux. La plateforme prend en charge diverses architectures de CPU, notamment ARM, ARM64, x86 et x86_64. Elle utilise LXC (Linux Containers) et l’interface binder, fournissant un accès direct aux ressources matérielles pour le système Android et contribuant à l’optimisation de ses performances.

Waydroid étend son support GPU aux GPU Intel et AMD, permettant aux utilisateurs d’exploiter pleinement les capacités de leur matériel graphique. Cependant, pour les GPU Nvidia et les machines virtuelles, la plateforme s’appuie sur un rendu logiciel, ce qui peut avoir des implications.

Waydroid dispose d’une communauté dynamique et active qui contribue au développement, à l’amélioration et au support de la plateforme.

Genymotion

Genymotion

Genymotion est une plateforme polyvalente qui offre un ensemble complet de fonctionnalités, ce qui en fait un excellent choix pour faire fonctionner des appareils virtuels Android dans des environnements de cloud et de bureau. Sa compatibilité exceptionnelle garantit une intégration transparente.

Son évolutivité permet une expansion facile pour répondre aux besoins croissants et aux charges de travail. Genymotion fonctionne de manière flexible avec plusieurs appareils, permettant aux utilisateurs d’émuler plusieurs configurations Android.

L’automatisation est un aspect puissant de Genymotion, rationalisant les tâches répétitives et permettant aux utilisateurs de construire des cadres de test robustes avec des solutions populaires comme Appium, Espresso, et Detox. De plus, la plateforme s’intègre en douceur avec les principales solutions d’intégration continue telles que CircleCI, Bitrise et GitHub Actions.

Les deux options de Genymotion, cloud et desktop, offrent aux utilisateurs une flexibilité inégalée. Le SaaS (Software as a Service) de Genymotion permet un accès interactif aux appareils virtuels à partir d’un navigateur web, en fournissant des connexions sécurisées à ADB (Android Debug Bridge). La version SaaS offre également une intégration facile avec les SDK et les API, ce qui en fait un choix convivial pour les développeurs.

Genymotion Desktop permet plus de 3000 configurations virtuelles d’appareils Android, y compris différentes versions d’Android et spécifications matérielles. Un ensemble de capteurs matériels sur la plateforme permet des interactions GPS, réseau et multitouch.

D’autres fonctionnalités incluent la simulation de la batterie, le contrôle de la rotation, l’injection de la caméra et du son, la simulation du GPS et le contrôle du réseau et de la bande de base. Pour des environnements de test et de développement complets, il existe des fonctionnalités supplémentaires telles que l’étranglement des E/S de disque, les journaux en direct pour le débogage, le chargement latéral d’applications par glisser-déposer et la gestion des identifiants Android.

Il prend également en charge les principaux fournisseurs de cloud, notamment les places de marché AWS, Azure, GCP, Aliyun et Oracle Cloud Infrastructure.

Android x86

Android x86

Android x 86 est une plateforme open-source remarquable qui fournit une solution complète pour l’exécution d’Android sur les plateformes x86 courantes. Au départ, il s’agissait d’un hébergement de correctifs pour la prise en charge d’Android x86, qui a évolué pour devenir un serveur Git à part entière.

Android x86 dispose d’une communauté open-source active, qui a apporté des contributions significatives au projet. La plateforme a été largement testée sur divers appareils, notamment Microtech e-tab Pro (2018), ASUS Eee PCs/Laptops, Viewsonic Viewpad 10, Dell Inspiron Mini Duo, Samsung Q1U, Viliv S5, Lenovo ThinkPad x61 Tablet, et bien d’autres encore, les résultats des tests partagés bénéficiant à l’ensemble de la communauté.

La dernière version stable, Android-x86 8.1-r6, est accompagnée d’un grand nombre de fonctionnalités et d’améliorations impressionnantes. Elle utilise le noyau 4.19 avec KMS (Kernel Mode Setting) activé, ce qui améliore les performances graphiques et les capacités d’affichage.

Le mode S3 (Power Suspend and Resume) est pris en charge, ce qui permet aux périphériques de gérer efficacement les états d’alimentation. Parmi les autres fonctionnalités notables, citons l’audio (ALSA), le Bluetooth, le capteur G, la prise en charge de la caméra V4l2, le mode miroir sur les moniteurs externes, le montage automatique du stockage externe, les claviers externes et la compatibilité avec la molette de la souris.

Parmi les développements à venir, citons le portage d’Android 10 (version Q) sur la plateforme, la mise à niveau du noyau vers la version 5.4 et l’implémentation de l’accélération matérielle OpenGL ES pour les GPU Intel, Radeon, Nvidia, AMDGPU et Virgl.

ARChon Runtime

ARChon Runtime

ARChonRuntime est une remarquable plateforme conçue spécifiquement pour Chrome, permettant aux développeurs d’exécuter des applications Android sur Windows, Linux et d’autres systèmes à l’aide du navigateur Chrome. La dernière version, ARChon 2.1.0 Beta (ARC 41.4410.238.0), continue d’affiner et d’améliorer l’expérience d’exécution des applications Android sur des plateformes non Android.

La plateforme offre une gamme d’options de téléchargement adaptées aux différents appareils et configurations. Les utilisateurs peuvent sélectionner la version appropriée pour leurs appareils, comme Intel x86 Chrome 64-bit/Chrome OS 64-bit, 32-bit/Chrome OS 32-bit, ou ARM (compatible avec les Chromebooks basés sur ARM).

L’installation d’ARChon Runtime est un processus simple. Les utilisateurs doivent télécharger le runtime ARChon et l’extraire. Ensuite, ils peuvent naviguer vers “chrome://extensions”, activer le “Developer Mode” et charger le runtime.

Pour tester les capacités de la plateforme, les utilisateurs peuvent essayer l’application d’exemple en la téléchargeant, en l’extrayant, en la chargeant en tant qu’extension décompressée, puis en cliquant sur “Lancer”

Pour convertir les applications Android afin qu’elles soient compatibles avec ARChon, la plateforme fournit des outils utiles pour rationaliser le processus. Ces outils comprennent chromeos-apk (outil de conversion d’applications CLI), ARChon Packager (outil de conversion basé sur Android) et twerk (outil de conversion basé sur Chrome).

Android Studio

Android Studio

Android Studio est l’environnement de développement intégré (IDE) officiel fourni par Android pour le développement d’applications Android. Si son objectif premier est de faciliter la création de nouvelles applications Android à partir de zéro, il peut également être utilisé pour diverses modifications et intégrations technologiques, y compris l’exécution d’applications Android sur Linux.

La dernière version d’Android Studio, connue sous le nom de “Giraffe”, est une plateforme très avancée dotée d’un ensemble complet d’outils et de fonctionnalités conçus pour les développeurs Android. Cependant, ce qui la rend particulièrement attrayante, c’est sa prise en charge multiplateforme, qui la rend disponible pour Linux, Windows, ChromeOS et d’autres systèmes d’exploitation.

Pour exécuter des applications Android sur Linux à l’aide d’Android Studio, les développeurs doivent télécharger et installer la version de l’IDE compatible avec Linux. Une fois installé, Android Studio fournit un environnement convivial pour les développeurs où les utilisateurs peuvent tester, développer, concevoir et configurer des applications Android directement sur un système Linux.

En tant que plateforme officielle approuvée par Android, Android Studio garantit une expérience transparente et fiable lors de l’exécution d’applications Android sur Linux. Ses outils de développement robustes, ses capacités de débogage et son émulateur intégré en font une solution complète de développement et de test d’applications sur plusieurs plateformes.

Android Studio n’est pas seulement un outil exceptionnel pour créer de nouvelles applications Android ; c’est aussi le moyen officiel d’exécuter des applications Android sur Linux. En fournissant une version compatible avec Linux, Android Studio permet aux développeurs d’exploiter les capacités de Linux tout en construisant, testant et peaufinant leurs applications Android.

Anbox

Anbox est un projet notable qui a émergé en 2017 avec l’objectif ambitieux d’apporter le système d’exploitation Android à n’importe quel environnement de bureau basé sur Linux. Il a adopté une approche basée sur les conteneurs pour exécuter un système Android complet sur un système GNU/Linux ordinaire, offrant aux utilisateurs la possibilité d’accéder aux applications Android de manière transparente sur leur bureau Linux.

Alors qu’Anbox était initialement prometteur, son développement a stagné au cours des dernières années. En 2023, on peut dire que le projet n’est plus activement maintenu ou développé par ses créateurs originaux.

Malgré cela, les composants essentiels d’Anbox, y compris les modules du noyau, sont toujours disponibles sur son dépôt GitHub, ce qui le rend accessible à ceux qui souhaitent l’utiliser. Bien que la maintenance d’Anbox se soit arrêtée, la documentation, les manuels d’utilisation, les frameworks et les manifestes du projet restent accessibles sur GitHub.

Cependant, il est crucial de noter que l’utilisation d’Anbox, étant donné son manque de développement actif et de maintenance, peut avoir des implications en termes de compatibilité avec les nouvelles versions d’Android, de vulnérabilités de sécurité potentielles et de stabilité générale sur les distributions Linux modernes.

Le mot de la fin

Dans le monde en constante évolution de la technologie, la quête de l’exécution d’Android sur Linux a éveillé l’imagination des geeks et des enthousiastes de la technique. La recherche d’une intégration transparente entre deux systèmes d’exploitation puissants, Android et Linux, a donné naissance à diverses plateformes qui répondent à des besoins et des cas d’utilisation variés.

Nous nous sommes penchés sur les meilleures plateformes issues des efforts de ces individus visionnaires. Chaque plateforme offre des caractéristiques, des capacités et des limites uniques, répondant à des cas d’utilisation et à des préférences spécifiques.

Découvrez ensuite les émulateurs Android et iOS pour accélérer le développement et le test de vos applications.