github kksimp/Mac.apk v1.0.2279
Mac.apk v1.0.2279 (alpha)

7 hours ago

Mac.apk v1.0.2279 (alpha)

Mac.apk runs Android apps natively on your Mac: no emulator, no virtual machine. This release brings Android TV apps, game frontends that launch emulators, macOS Now Playing, phone-style shared storage, sign-in windows for stores and games, and mouse-wheel scrolling in every app. App data now lives in Application Support instead of inside each app.

Requires macOS 26.4 (Tahoe) or later on Apple Silicon. macOS 27 is supported.

New

  • Android TV apps. The arrow keys move focus, Enter selects and Esc goes back, the way a TV remote does. Apps that only have a TV launcher entry now open. SmartTube browses and plays YouTube.
  • Game frontends. Launchers such as iiSU find your other installed apps, show their icons and start games in RetroArch.
  • Now Playing. Music apps show the current song, artist and cover art in macOS Now Playing.
  • Storage shared like a phone. Every app sees the same /storage/emulated/0, so one app can hand another a file path. On first launch, each app's own top-level folders move into the shared storage. A Settings switch maps the Android Download, Documents, Pictures, Movies and Music folders to your Mac's.
  • App data moved to ~/Library/Application Support/MacApk. Apps no longer keep their data inside the .app, and Settings opens the folder. Existing data moves the first time each app starts. (#18)
  • Sign-in windows. Sign-ins that return to the app (Epic Games, AppAuth apps) open in a small Mac.apk window that closes itself, instead of leaving a Safari tab. Google account sign-in still uses Safari.
  • Stores can install apps. The Epic Games Store installs Rocket League Sideswipe.
  • Mouse-wheel scrolling works in every app: lists, scroll views, web pages and full-screen native apps such as RetroArch's menu. Scrolling no longer clicks the row under the pointer.

Fixed since v1.0.2237

  • macOS 27 with SIP turned off: every app crashed at start. Fixed.
  • Cmd+X, C, V, A and Z work in web pages, such as Aurora Store's Google sign-in.
  • Mac.apk works from either Applications folder. It used to work only from /Applications, not from the Applications folder in your home folder (~/Applications). It now finds its own files in either place. (#13)
  • Rhythm: icons draw as icons instead of letters, permission requests show up, the app has its real icon, and Settings and the Now Playing screen are no longer blank. (#11)
  • ytdlnis and AdGuard: more layout fixes (switches, cards, labels, the search page, the paste button), and video no longer stutters in ytdlnis or any other app. (#5)
  • MapLibre and other graphics libraries: android.icu.util.LocaleData exists, EGL14 windows on a SurfaceView work, native eglSwapBuffers updates a Java EGL14 window, and directly linked libvulkan imports resolve. (#14, #15, #16, #17)
  • Metrolist plays music.
  • Rocket League Sideswipe: the ball no longer shows as a pink shape.
  • RetroArch keeps the cores it downloads, and Lemuroid plays.
  • F-Droid's Settings tab no longer crashes.
  • An app that didn't open after it had crashed, or opened behind other windows, now opens normally in front.
  • Loading spinners no longer stretch across the whole window, app tiles no longer draw icons tiled (iiSU), and "fi"/"fl" ligatures draw.
  • Apps use less memory: each one drops about 52 MB it never used (Metrolist went from about 750 MB to 580 MB).

Not tested by hand yet

Nobody has tried these by hand yet. Most of them passed our automated checks.

  • SmartTube's sound, seeking, player controls and sidebar.
  • F-Droid's Settings tab, the ytdlnis and AdGuard fixes, and mouse-wheel scrolling.
  • Shared storage, the app-data move and the Settings button that opens the app-data folder.
  • The MapLibre fixes, checked with a small test app that makes the same calls, not the real demo.
  • Mac.apk run from ~/Applications from start to finish.
  • The macOS 27 fix, checked by simulating the crash, since no affected Mac was available.

Known issues

  • Rocket League Sideswipe: the first launch after an install stays black for a while before the game appears.
  • ytdlnis: its preview player pauses for a while about 13 seconds into a video. YouTube slows that kind of request; downloads are not affected. Searching or pasting a link can crash inside ytdlnis's NewPipe extractor (also on phones); set ytdlnis's Settings > General > Data fetching extractor to yt-dlp.
  • SmartTube browses and plays, but sound, seeking and the player controls have not been checked by hand yet.
  • Thunderbird: Sign in with Google works, but logging in to Thunderbird itself fails.
  • Asphalt Legends can sit on its logo for about half a minute the first time it starts after macOS clears its graphics cache. It is preparing its shaders, not frozen.
  • Geometry Dash Meltdown: its full-screen ads play, but the game still breaks after one.
  • Controller vibration is not supported yet.
  • Minecraft's Vibrant Visuals graphics mode is not available.

Install

Download macapk.dmg, open it, and drag Mac.apk to Applications (replace the old copy if you have one). The app is signed with a Developer ID and notarized by Apple.

Source code for the two LGPL libraries Mac.apk ships (GLib and GNU gettext's libintl) is attached below, with LGPL-SOURCE-README.txt; all third-party notices are in THIRD_PARTY_NOTICES.txt in the repository.

SHA-256 of macapk.dmg: fc1e772cc0cac1f0880787744b14384326f254968d59590060c4d376f211fffc

Don't miss a new Mac.apk release

NewReleases is sending notifications on new releases.