Android apps running native on macOS
github.com> Run Android apps natively on Apple Silicon Macs. No emulator, no virtual machine, no Linux underneath.
God damnit Dario fix Claude already so that it stops using this sentence structure once and for all. Opus is so annoyingly recognisable that it has started to irk me badly lately
Too late, people already talking like this too
Feature, not bug
Some call it a triple construction.
How would you prefer it. Does it not get the point across? Why does it even matter to you?
"Why does it matter to you?" Many Claudisms are grating to many people. Annoying is enough of a justification.
> Many Claudisms are grating to many people.
Would they be grating to them in the pre-LLM days?
They would be nowhere near as prevalent. All claude-user output is in the same style, which is really annoying.
For one, say what it does instead of what it doesn't do
"Run Android apps natively on Apple Silicon Macs."
"Run Android apps natively on Apple Silicon Macs. Uses translation instead of emulation."
No, slop generally doesn't get the point across efficiently.
It's hard to parse, it's grating, and in addition to the strange language you have to apply additional skepticism due to gross inaccuracy being more likely than in human-written text.
Variety is the Spice of Life
In practice, the Google Play Services dependencies and other walled-garden initiatives from Google will make this less useful than it could otherwise be. But still, this is really cool.
MicroG of one of its wrappers takes care of it https://microg.cc/features/
I guess, in practice this can also be likely be made to run google services, the same as they can run on custom ROMs. And it already lists Aurora store as a solution.
So it's definitely something for more tinkerer people, but still quite cool.
Everything aside from apps with SafetyNet dependencies. Banking apps come to mind.
Also, a lot of games. This is actually why I stopped playing Pokemon Go, and never picked up a worse gacha game habit haha
Pokémon Go had a good reason - it turned out to be foreign intelligence gathering operation and couldn't risk being corrupted with false data.
What? Niantic (Google) admitted they were training spatial AI models. I have not seen evidence that the data was a "foreign intelligence-gathering operation" and I would welcome a source.
Which models for who?
Sure, but who would use a banking app when the web site is right there and has more features and generally works better?
These days many banks only allows app for "enhanced safety"
Soo many more things than banking apps at this point. Things as normal as looking at train schedules, grocery store catalogues, ordering a taxi... sometimes have SafetyNet DRM.
When you publish apps on Google Play, the Play Developer Console even nags you to use harder obfuscation and implement Google's DRM to, allegedly, protect yourself and your users.
Can the EU finally make this shit illegal? Oh wait, they're pusing for mandatory DRM too... Fuck.
Banks want your money so try it anyway. Not all banks try to drive away their customers by preventing them from accessing their accounts.
time to RE play services
It's also pretty easy just to spin up bluestacks if you really need android apps on a mac.
You can run it with microg
Optimist take: this will matter less over time as more developers start targeting Steam devices
Or matter more, as chromeOS is killed and Android comes to laptop form factor?
...what steam devices? Steam Deck and Machine? I work in video games(at one of the largest publishers - worked at other two in the last few years) - and while we usually do some testing on the steam deck it's literally just to see if the windows version runs well. Full on Linux porting effort like Larian did for BG3 is very very rare and extremely hard to justify.
In your experience, is "Steam Deck Verified" attractive enough to fix any issues you might find when testing? I've been immensely curious about whether it's moved the needle at all
Most games run on Steam devices via Proton (Wine). You don't really need a native port in that case.
And I hate it with a passion. Publishers have no problem taking money from Linux users, only to ignore Linux-related bug reports and tell people “it’s not supported.”
I really hope Steam will use its position soon to either let users get refunds when devs break their games or force the gaming industry to support the Linux users they’re making money from.
That's really what the (Deck/Machine/SteamOS) Verified program is for. Valve tests games out on those platforms and reports results back for everyone on the store page. Publishers have the control to explicitly mark it as unsupported too.
...I mean, you're buying a windows version, then complaining that it's not running well on an unsupported operating system?
> Full on Linux porting effort like Larian did for BG3 is very very rare and extremely hard to justify
Given the zeitgeist, how realistic are the calls to “just get AI to do it”? I’ve been rattled by just how good some one-shot (or otherwise low-human-effort) Claude ports of some games are (and I don’t mean “decomps”, but instead where an existing open-source and already-cross-platform codebase is ported over to new targets like WASM+Canvas, like C&C Generals: the AI-bros are in full-force posting demos of their new ports on a nearly daily basis - so if it’s as easy as these people say, why aren’t we seeing it from the major publishers?
> why aren’t we seeing it from the major publishers?
Models are just recently capable of reliably doing this type of deeper work, which is why you're only seeing it now. There hasn't really been enough time to see it. And still, why? Modern gaming on Linux is almost always on accident, with the devs targeting windows, with no thoughts of Linux at all. Seems like it would make more sense to point the AI at wine, to make linux run Windows better.
figuring out how to get PWA working would be a much better goal.
Can MicroG be ported?
Is this your experience or are you repeating something you heard somewhere?
I'm no expert on the matter, but I've developed and published multiple Android apps to the Play Store. Some of those apps have needed Google Play Services APIs. Google has also been actively making moves to lock down control and offering things like the Play Integrity API that some apps use.
By your phrasing, it sounds like you're implying my understanding is wrong somehow. If so, what am I missing?
I'm not the commenter but this is my experience in about 10% or so of cases. I've been running a network audit of baby tracking apps and the information they phone home with (results are pretty Orwellian so far) and a few of the apps have been virtually impossible to emulate without an active Google Play account that is verified against Google's servers.
Can you disable certificate pinning? Be a good way to reverse engineer APIs if so.
Handy for Minecraft players on Mac: windows players may be on Java or on bedrock versions, but mobile and console players are all only on bedrock. Being able to run the Android version on Mac means I can play with local console players or join a bedrock realm.
(There are compatibility workarounds if you run your own server but I don’t want the headache of doing so).
Perhaps one day Mojang will enable Macos users to run the iPad (bedrock) version of Minecraft as well..
> Perhaps one day Mojang will enable Macos users to run the iPad (bedrock)
I predict they will, once macOS drops intel support in macOS 28.
Why does dropping Intel support relate to this?
Funnily, specifically for Minecraft Bedrock, there's such a project (implementing a limited/specialized compatibility layer) targeting Linux/macOS for few years now.
It's so annoying how Macs cannot run iPad/iPhone apps despite having almost the same hardware.
There was a solution on macOS for quite some time (https://github.com/minecraft-linux/macos-builder/) but Apple is killing off the OpenGL frameworks to make it work.
Meanwhile I ignore most of the posts here that are Apple-related, this one was able to draw my attention. Checked the 'how it works' page and was impressed how easily Claude made the 32-to-64 bit ARM translator for you. We need more effort of this kind for the x86 ecosystem, generated or not, but the mobile-app-everything culture becomes really annoying and needs to be fought this way.
Claude didn't make this, the author did.
Doesn't this instead just exacerbate the problem allowing the mobile app for everything dogma to exist more easily?
Is this significantly useful to anyone?
It’s a neat accomplishment. And it was worth doing for that alone. Absolutely hacker worthy.
But as someone with an Apple Silicon Mac, I can run iOS apps on my computer if the developer has allowed it and I don’t. I’ve never come up with an actual need. It turns out it’s never really a problem for me.
The few things I use a lot on my phone already have desktop equivalents. The long tail stuff tends to be stuffed that I wouldn’t really use from my computer anyway. Like locking my car or using a banking app. One I don’t need, the other is already covered by the website.
So I’m wondering if anyone has found a strong use for this kind of tools.
For me, the main use would be any app where I would like to type a decent amount.
I hate typing on non-physical keyboards.
What about that chinese cat feeder whose app requires a suspicious number of permissions, and requires max version of android 2 versions behind the current one?
Or maybe your security camera has a "free" plan without motion detection, and you just keep the app running with a screen grab on top to do your own AI motion detection.
Or my eero router, which doesn't have a web interface... etc etc.
There's a million cheap hardware gadgets that are going to lose sw support at some time, and stop being functional. This will help a lot with that.
As someone who develops iOS and Android apps, I run production, store-installed variants on my Mac all the time for iOS apps. It's pretty nice and would be cool if I could do the same for Android.
If I could I would do it during development. The app I work on needs hardware so it’s not an option.
Arguably not a bad use of a claude subscription, provided that it actually works.
Reminds me of Google vs. Oracle lawsuit for API fair use.
https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....
Google v Oracle comes down to an argument over infringement when copying constants. IANAL but I would've said constants are facts and not protectable.
Cross-platform has never been easier than ever
Crazy I was the first to star on GitHub. I’m going to give this a try for some tinkering projects.
People take the iOS version of Fortnite and repackage it to run on Mac.
Great project...it would be awesome to be able to run APK on the iPhone
This is awesome, now this needs to work on Windows
Windows had something like this (Windows Subsystem for Android) which worked really well until Microsoft went and killed it.
Yeah, Microsoft tried 'both ways' to expand their quite small Windows Phone applications catalogue. And while Project Astoria [1] aimed at bringing Android apps, Project Islandwood was about easing porting of iOS applications [2]. Then MS decided that Windows Phone platform has no future.
[1] - https://www.windowslatest.com/2016/02/26/project-astoria-por...
[2] - https://www.windowslatest.com/2016/02/09/project-islandwood-...
WSA was (or is, since still works unofficially) running Android in VM underneath.
BlueStacks has worked really well for me.
It is based on VM, so it is a lot slower.
You can't even run Instagram on a low-end laptop.
isn't BlueStacks full of chinese ads nowadays?
Unfortunately. But there really isn't anything out there as reliable as it.
I wouldn't know, I block all Chinese IPs at my router.
This is very cool! Next IOS.apk? ;)
macOS includes[0] a built-in iOS compatibility subsystem. PlayCover allows utilizing it for running arbitrary iOS apps.
[0]: https://developer.apple.com/documentation/apple-silicon/runn...
And yet somehow Microsoft / Mojang don't see fit to enable Minecraft Bedrock for iPads on Macs. Pretty frustrating for cross-platform play. It's pretty funny that Bluestacks / Mac.apk work just fine for playing the Android Bedrock version on a Mac when the iOS app is right there.
Slightly off topic, what skill/diagram tool did you use to make the diagrams?
Couple issues with this right off the bat:
- Seemingly relies on the Java virtual machine for simulation -- no support for native ARM binaries?
- Stores data inside the .app
Looks like it will run native ARM just fine according to the readme?
I saw a hint of machine code recompilation in the libraries list (like capstone), but couldn't find enough to verify if recompilation means more than just extracting the dalvik stuff and reformatting it to run on a normal JVM
you didnt read the page did you.
I read the page, but didn't clone the repository locally to run an AI agent over it.
No app sandboxing? User files and settings stored in the /Applications/ folder, rather than the User’s home folder?
Naming it Mac.apk is a poor choice. So it's Mac.apk.app?
Overall this repo has a lot of tells of a low quality LLM generated app. Many issues with data structuring, naming etc.
[flagged]
This looks like a great submission! But I wanted to let you know that some of your recent comments have been killed by our software because they've been classified as genai text, which is not allowed on HN itself (see https://news.ycombinator.com/newsguidelines.html#generated and https://news.ycombinator.com/item?id=47340079).
(Of course it's fine to use AI tools! We use them heavily ourselves. Just please don't use them to generate or edit text to be read by fellow humans on Hacker News itself.)
It's impossible to know for sure what was LLM generated or edited, but we have to rely on imperfect classifiers or else the site would be completely flooded by genai text, which is not what the community here wants to read, nor in the intended spirit of HN.