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

4 hours ago

Mac.apk v1.0.2303 (alpha)

Mac.apk runs Android apps natively on your Mac: no emulator, no virtual machine. This release makes your mouse and trackpad behave like Android expects, draws Chinese, Japanese and Korean text in Flutter apps, runs Android's GPU shader effects, and fixes a batch of apps that crashed or stayed blank. It also includes the first contributions from outside the project.

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

New

  • Your mouse works like a mouse. Right-click and middle-click reach apps, Shift, Ctrl, Option and Command travel with clicks and drags, the back and forward side buttons go Back and Forward, and moving the pointer over an app shows hover effects. Before, every click arrived as a plain finger tap. (#21, #25)
  • Better trackpad gestures. Two-finger panning moves content as far as your fingers move, a twist rotates maps right away, and resting two fingers no longer counts as a quick two-finger tap. (#22, #23, #24)
  • Shader effects and blurs. Apps that use Android's custom GPU shaders (AGSL) or RenderEffect for frosted-glass blurs and masks now render them on the GPU through Skia, the engine Android itself uses. The download is about 21 MB bigger because of it. Contributed by @YuKongA (#39).
  • Chinese, Japanese and Korean text in Flutter apps shows real characters instead of empty boxes. (#27)
  • Standard (non-admin) Mac accounts can install apps. When /Applications isn't writable for your account, apps go into your own ~/Applications folder. (#28)

Fixed since v1.0.2279

  • Pocket Casts, Libro.fm and the Xbox app open and work instead of showing a black screen. The Xbox app gets past its splash screen, signs you in and shows its home screen. (#7)
  • React Native apps that set a public property on a library's internal view class through reflection no longer stop drawing their screen (this is what blacked out the Xbox app after sign-in).
  • Text fields in React Native apps no longer stop the app from responding to taps: text-selection handles now come from the app's theme, as on Android (the Xbox setup screen ignored every click).
  • Epic Games Store no longer force-closes when you open a game's page.
  • Game sound is no longer late. Games that play sound through Android's standard audio paths were about a third of a second behind; the delay is now about 20 ms, like a phone.
  • Ren'Py games no longer close right after loading. They could read the Mac's version file and decided they were running on macOS. (#38)
  • Dictionary and other offline-data apps (Rangskat and others) no longer hang on their loading screen.
  • Navigation apps that host screens with a <fragment> tag find their navigation again, and the menu and Up buttons in toolbars work in more apps.
  • PDF pages inside apps show their content.
  • Screens with many rounded cards scroll much faster (Rhythm's Settings went from about 20 ms per frame to 7 ms). (#11)
  • Tinted and color-filtered content drawn through offscreen layers keeps its tint. Contributed by @YuKongA (#40).
  • Apps that crashed at launch because their Application class asked its base context about the package now start (#32). Contributed by @blueagler (#33).
  • Apps using the old Apache HTTP library start. Contributed by @lxy2500798479 (#37).
  • Apps whose native libraries depend on each other load them in the right order, and an app's own native function is no longer mixed up with a same-named macOS one. Contributed by @hlwhl (#50, #51).
  • Crash logs name the app's own native library and offset when an app aborts in native code. Contributed by @lxy2500798479 (#46).

Not tested by hand yet

These passed our automated checks, but nobody has tried them by hand yet.

  • The mouse and trackpad changes in a real map app (checked with our own input tests).
  • Shader effects and blurs in a real app (checked with a shader test; Telegram uses the new path, but its effects sit beyond the first screen).
  • Installing from a standard (non-admin) account.
  • A Ren'Py game.
  • The contributed fixes in #33, #37, #40, #46, #50 and #51, each on its own reporter's app.

Known issues

  • If swipe-steering games (Subway Surfers) feel too twitchy with the new trackpad scrolling, set MACAPK_SCROLL_SCALE=0.5 to get the old feel (see the Flags page in the wiki).
  • Rocket League Sideswipe: the first launch after an install stays black for a while before the game appears.
  • ytdlnis: its preview player pauses about 13 seconds into a video, and searching or pasting a link can crash inside its NewPipe extractor (also on phones); set Settings > General > Data fetching extractor to yt-dlp.
  • 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.
  • 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: af32b4d7e972f761629549818759cf1866d8f7c3a89b6e96b1bc8de585565d39

Don't miss a new Mac.apk release

NewReleases is sending notifications on new releases.