Présentation

Mac.apk est un projet open source qui permet d’exécuter des fichiers .apk directement sur les ordinateurs Apple Silicon sans recourir à un émulateur, à une machine virtuelle ou à un noyau Linux sous‑jacent. Le logiciel se présente comme une application macOS classique : il s’installe par glisser‑déposer, se signe et se notarise par Apple, puis apparaît dans le Dock comme n’importe quel autre programme.

Architecture et mécanismes

Le cœur de Mac.apk repose sur une réimplémentation de l’environnement Android construite au‑dessus de macOS. Deux composants majeurs sont le loader arm64 et le shim Bionic, qui traduisent les appels système Android en appels macOS. Pour les applications 32 bits, un recompilateur ARM32 convertit dynamiquement le code en instructions compatibles avec l’architecture arm64 du processeur Apple Silicon. Cette chaîne d’exécution évite toute couche d’interprétation instruction‑par‑instruction, ce qui explique la mention « pas d’émulateur » dans la documentation.

Les applications sont lancées comme des processus macOS ordinaires. Elles utilisent le GPU du Mac pour le rendu graphique et le CPU pour le calcul, ce qui leur confère une vitesse d’exécution native. L’interface macOS ajoute un bouton de retour à côté des contrôles de fenêtre, et les fenêtres respectent les thèmes clair/sombre du système.

Performances et limites

Le premier démarrage d’une application peut durer jusqu’à une minute, le temps que Mac.apk prépare le bundle, crée le répertoire .app et initialise le runtime. Les lancements suivants sont nettement plus rapides, car le code est déjà chargé en mémoire et les ressources sont mises en cache. Certaines applications fonctionnent « beautifully », d’autres partiellement, et un tiers ne démarre pas du tout, selon la liste de compatibilité fournie par les développeurs.

Un point de vigilance concerne les données sauvegardées : elles résident dans le répertoire .app. Supprimer l’application depuis le Finder entraîne la perte des sauvegardes, d’où la recommandation d’utiliser le panneau de désinstallation intégré à Mac.apk.

Open source et perspectives

Le code source, disponible sur GitHub, comprend la réimplémentation du framework Android, le runtime natif, le loader arm64, le shim Bionic et le recompilateur ARM32. Le projet est publié sous licence GNU AGPL v3, avec une option de licence commerciale pour les entreprises souhaitant distribuer le produit sans les obligations de l’AGPL. Aucun module publicitaire n’est intégré, et les achats intégrés sont désactivés par défaut.

Les contributeurs peuvent consulter BUILDING.md pour compiler le projet et CONTRIBUTING.md pour soumettre des correctifs. Les rapports d’erreurs, incluant le journal situé dans ~/Library/Logs/macapk/, sont encouragés afin d’enrichir la liste de compatibilité et d’améliorer la stabilité des futures versions.