Android apps running native on macOS

Posted by flocked 2 days ago

Counter346Comment194OpenOriginal

Comments

Comment by irskep 2 days ago

As impressive as this is, it's a wacky choice to store app data inside the .app file instead of Application Support. They justify it [1] as "nothing is scattered around your home folder," but that's a false choice.

[1] https://github.com/kksimp/Mac.apk/wiki/How-Apps-Are-Installe...

Comment by joshspankit 2 days ago

Counter argument: it was a wacky choice for Apple to split the app and the “data” (Application Support). Yes multi-user and deduplication are concerns, but I would much rather have everything self-contained. Using that paradigm for Android apps (where dedup is barely a concern) is a relief

Comment by norman784 2 days ago

Windows and Linux do the same, they store the data in the user home folder. So not sure if your argument stands, maybe Android is different in that regard, but also it's easier to back up the data this way.

Comment by wongarsu 1 day ago

Windows started out with both the app and the app's data stored in the app's subfolder in `C:\Program Files`. That might not have been the official convention but it was what nearly everyone did. Until Vista forced everyone's hand by gating write access to `C:\Program Files` behind the UAC prompt even for admin users, while also introducing the new %AppData% and %LocalAppData% folders

Comment by rf15 2 days ago

> they store the data in the user home folder.

that's a very dishonest or at least inaccurate depiction considering the multiple, semantically confusing places app data can be stored on win/linux

Comment by delta_p_delta_x 2 days ago

The app data directory on Windows is quite literally a subdirectory of the user directory; `%APPDATA%` == `%USERPROFILE%\AppData\Roaming`.

Comment by lucideer 2 days ago

> can be stored

Rogue apps doing whatever when consistent standards exist seems more of a dishonest/inaccurate depiction

Comment by astrange 2 days ago

Users don't always have write access to the apps.

Comment by pjerem 2 days ago

I mean, this file hierarchy is already so integrated into the OS that it wouldn’t have been difficult to circumvent that by allowing per-user folders in .app folders with the good ACLs by default.

Mostly like a mini home folder in each app.

That would have been an interesting decision, quite hacky maybe, but incredibly ergonomic. And that would have changed one of the biggest flaws of Mac OS into one of its biggest strengths.

Comment by newdee 2 days ago

And when someone deletes the app? Poof. Everyone’s data is gone. Separation of concerns. The config and executable/bundle should not share the same lifecycle.

The best counter argument to this though is that Apple haven’t shipped a native “uninstall” action which can optionally strip caches, config and other state when an app is removed. That’s the real issue I see here.

Comment by FeepingCreature 2 days ago

It seems to me the obvious answer to this is "app copy per user" (possibly with os-level dedup) and "undelete"? What do they actually do instead?

Comment by pjerem 1 day ago

> What do they actually do instead?

They do the same shit as every other OS : files with a more or less random place in the home folder.

So it's more akin to linux where removing a package lets the garbage in the home dir. On Windows it's not THAT MUCH better, it's just that removing app can be so stupidly complex that the concept of uninstaller had to be created, and it happens that some uninstallers are also helping to remove user files.

Of the three, it's the same shit, it just happens that in Windows it's so shitty that the hack we found to circumvent (the uninstallers are fucking executables with logic to remove another executable, that's stupid) made the situation less shitty.

MacOS is regarded as shit because they DID think about a nice way to sore and expose an application (a Mac OS program is just a folder named "MyApp.app" in the /Applications folder containing all the binaries and assets) but they didn't really care about where to store the application data (in fact it exists but it's not enforced and never cleaned).

Comment by crossroadsguy 2 days ago

Maybe the choice was between the hideously designed paths and pathetically named fodlers of macos/osx so the authors just stuck to not adding to the madness.

Comment by flocked 2 days ago

This is fixed in the newest release. "Each installed app's data now lives in ~/Library/Application Support/MacApk/<package>, and the .app keeps only the app itself."

Comment by irskep 1 day ago

I see that. Good!

The README and wiki really smell of letting Claude loose with little/no oversight or taste. I hope the authors consider putting more of their own thoughts and opinions into how this project is presented.

Comment by bilalq 2 days ago

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.

Comment by mentalgear 2 days ago

MicroG of one of its wrappers takes care of it https://microg.cc/features/

Comment by Doohickey-d 2 days ago

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.

Comment by als0 2 days ago

Everything aside from apps with SafetyNet dependencies. Banking apps come to mind.

Comment by chaosharmonic 2 days ago

Also, a lot of games. This is actually why I stopped playing Pokemon Go, and never picked up a worse gacha game habit haha

Comment by direwolf20 2 days ago

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.

Comment by tadfisher 2 days ago

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.

Comment by direwolf20 2 days ago

Which models for who?

Comment by hurfdurf 2 days ago

Niantic plans a “Large Geospatial Model” trained on Pokémon Go player data | https://nianticlabs.com/news/largegeospatialmodel | https://news.ycombinator.com/item?id=42187494

430 points | 2 years ago | 338 comments

Comment by franga2000 2 days ago

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.

Comment by direwolf20 2 days ago

Banks want your money so try it anyway. Not all banks try to drive away their customers by preventing them from accessing their accounts.

Comment by thesuitonym 2 days ago

Sure, but who would use a banking app when the web site is right there and has more features and generally works better?

Comment by cute_boi 2 days ago

These days many banks only allows app for "enhanced safety"

Comment by ryandrake 2 days ago

Fortunately, there are (at least for now) many, many banks to choose from, and you can tell the app-only ones to suck it. There's also almost no switching cost. The last time I changed banks, it was mostly done in an afternoon.

Comment by thesuitonym 1 day ago

I've never heard of such a thing but that's definitely not a company I would do business with. If my current bank tried that shit I'd be gone.

Comment by AtHeartEngineer 2 days ago

time to RE play services

Comment by monocasa 2 days ago

People are way ahead of you.

https://github.com/microg/GmsCore

Comment by AtHeartEngineer 2 days ago

hell ya, I love the internet

Comment by chaosharmonic 2 days ago

Optimist take: this will matter less over time as more developers start targeting Steam devices

Comment by gambiting 2 days ago

...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.

Comment by Rohansi 2 days ago

Most games run on Steam devices via Proton (Wine). You don't really need a native port in that case.

Comment by freedomben 2 days ago

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

Comment by gambiting 1 day ago

Sorry for the late reply, I just wanted to give it some thought.

I think it's hard to definitively answer. I'm an engine programmer and almost every engineer I have ever met wanted to see our games run on the steam deck well - if not for any reason than just because they have one themselves or because it represents a cool challenge.

I'm sure for some smaller companies the steam deck verified badge might be incredibly important - if your game gets featured in the "works well on deck" section it can be a big boost. But for some of the projects I worked on they were enormous(in the range of 20-30M copies sold) and I'd say 95%+ were sold on consoles. It was never said explicitly but there was an unsaid thing that the PC version is not worth the time and effort to make it and then support it. It was so far down the list that then worrying about whether it runs on the steam deck or not was not even on anyone's radar, except for some engineers who pushed for it themselves.

Sorry if that doesn't answer your question fully - I just don't know the answer from the point of view of product managers and marketing efforts.

Comment by mgol94 2 days ago

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.

Comment by Rohansi 2 days ago

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.

Comment by chaosharmonic 2 days ago

And the Frame Verified program, which is most of where I was going with this.

Lepton may most directly target Quest games, but it's not like it wouldn't also enable flatscreen titles running on AOSP, and it's not like Proton is limited to the use cases Valve intended either.

Comment by Rohansi 2 days ago

While it's better than nothing I don't think the Frame Verified results will be as useful to gauge compatibility for other devices because the Frame is quite underpowered. It's weaker than the Deck, has two much higher resolution displays, and tracking surely takes a chunk out of it too.

Comment by chaosharmonic 1 day ago

Yeah, the system spec isn't really what I'm talking about so much as the compatibility layers.

Comment by gambiting 2 days ago

...I mean, you're buying a windows version, then complaining that it's not running well on an unsupported operating system?

Comment by freeone3000 2 days ago

Steam is very upfront when you’re buying a windows game on mac. There’s a big banner saying it’s not for your OS and likely won’t work. There’s a compatibility icon for mac, and it’s filterable, for library and store, so you can get mac games. There’s an additional click-through screen on the store page with a checkbox. There’s a lot that’s filtered out!

The proton story pretends like you can run every windows game on steamos, verified or not. It’s quite different and tbh a little dishonest. I wonder how much of it is avoidance of alert fatigue (because many many unverified games do work) and how much if it is trying to sell users on steamos.

Comment by gambiting 2 days ago

Well, just remember that Steam doesn't actually know where you intend to play the game. I buy most of my Steam games on my phone, and obviously there's no point in steam warning me that the game will not run on android.

Comment by DaiPlusPlus 2 days ago

> 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?

Comment by nomel 2 days ago

> 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.

Comment by e12e 2 days ago

Or matter more, as chromeOS is killed and Android comes to laptop form factor?

Comment by 2 days ago

Comment by dawnerd 2 days ago

It's also pretty easy just to spin up bluestacks if you really need android apps on a mac.

Comment by kelvinjps10 2 days ago

You can run it with microg

Comment by cyanydeez 2 days ago

figuring out how to get PWA working would be a much better goal.

Comment by direwolf20 2 days ago

Is this your experience or are you repeating something you heard somewhere?

Comment by bilalq 2 days ago

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?

Comment by paimapi 2 days ago

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.

Comment by bobsmooth 2 days ago

Can MicroG be ported?

Comment by publlus_enigma 2 days ago

I can't take any more AI generated verbiage.

My collection of pre-AI technical books and manuals is becoming increasingly valuable to me.

Comment by f17428d27584 2 days ago

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..

Comment by forgotpwd16 2 days ago

Funnily, specifically for Minecraft Bedrock, there's such a project (implementing a limited/specialized compatibility layer) targeting Linux/macOS for few years now.

Comment by xp84 2 days ago

I have tried that project a couple years ago! My son moved on to mostly enjoying modded Java Edition but it was useful in a pinch, though it shared a few annoying characteristics that reminded me of my previous solution, playing on an Xbox One X with mouse and keyboard attached. Namely, that it wasn't as smooth as it is on a PC to bring up the chat and quickly type commands, requiring extra mouse clicks IIRC.

Comment by nomel 2 days ago

> 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.

Comment by xp84 2 days ago

I don't think anything to do with Intel matters, as the existing Mac solution they provide is just running Java Edition which already runs natively on ARM anyway.

Honestly I'm confused why they haven't brought Bedrock to Mac yet, as MS makes Mac versions of tons of stuff, from Edge to Copilot to Office; and Minecraft Bedrock Edition not only sells for money but has recurring in-app-purchase revenue, and Macs seem to be selling well.

Comment by 2 days ago

Comment by mahboi 2 days ago

Why does dropping Intel support relate to this?

Comment by freeone3000 2 days ago

Most iPad apps can already be ran on OSX.

Comment by VCFundedGenYer 2 days ago

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.

Comment by mahboi 2 days ago

It's so annoying how Macs cannot run iPad/iPhone apps despite having almost the same hardware.

Comment by xp84 2 days ago

Yeah, Apple went 90% of the way there, but decided it was up to the developer.

I get it, because if you're a developer you don't want to be deluged with support requests from a platform that you don't care about.

But also, it feels more like a favor to big corporate interests who are probably worried about "security" in the sense that macOS is only 95% locked down. It's still possible to have true root if you disable a few things, and it probably makes the kind of companies who make apps that refuse to run on a jailbroken device worry.

When Apple pulls the last plug on letting us mere users actually own our computers and moves the macOS to the iOS model where Apple will decide what programs you can run, it will probably come with the small benefit that all iOS apps will be required to be installable on Mac.

Comment by mahboi 2 days ago

It's definitely that. There's always some gotcha about not letting the user touch iPhone apps. Now Android is basically the same.

Comment by chuckadams 2 days ago

They absolutely can, you can download and run virtually every app off the iOS app store on a mac, and it runs in an emulator which is entirely native, no virtualization involved. Pretty sure it doesn't even need XCode. Mojang is likely actively detecting and locking out the emulator from the release version of the app.

Comment by mahboi 2 days ago

Which emulator are you referring to? The iOS Simulator (not emulator) can't run apps from the App Store

Comment by chuckadams 2 days ago

The apps are downloaded from the macOS app store by searching, then clicking the "iPhone and iPad Apps" tab. Most of them read "not verified for macOS" but let you install them anyway, so it's not just apps specifically enabling support for macOS launching them. Minecraft does not show up on that tab though, so it would seem that the listing is something that can be withdrawn.

And it's probably using something similar to the Simulator, but likely not the simulator itself. It's been a really long time since I launched any iPad apps on my mac, so I did get get a lot of the details wrong, sorry.

Comment by mahboi 2 days ago

The "not verified for Mac" ones were still allowed by the dev to run on Mac, only they're warning you it's untested. Most popular apps aren't allowed to run on Mac at all, like Instagram.

Comment by odo1242 1 day ago

Macs can install/run iPad/iPhone apps through the App Store if the app developer enables the feature. A bunch of app developers don't though, and iOS apps have DRM that macOS ones don't

Comment by shepherdjerred 2 days ago

Isn’t that what catalyst does?

Comment by mahboi 2 days ago

The dev has to do it, and most don't. I can't run arbitrary iPad apps on my Mac.

Comment by 012973981605 2 days ago

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.

Comment by dcreater 2 days ago

Doesn't this instead just exacerbate the problem allowing the mobile app for everything dogma to exist more easily?

Comment by xp84 2 days ago

That's already here.

Also it's way worse than that, since most things are written in React Native or some other cross-platform framework, then that's wrapped in a mobile app, then you try to access a website to do some trivial task that the Web is great at (Place a takeout order or pay $6 for parking) and are told to download a 500MB "App"... and create an account... 'we sent a code to your email, go check it...' 'Ask App not to track?' 'Allow location?' etc)

Comment by rfgplk 2 days ago

Claude didn't make this, the author did.

Comment by iAMkenough 2 days ago

Claude is listed as a credited contributor, so Claude did make this.

Comment by hypfer 2 days ago

Arguably not a bad use of a claude subscription, provided that it actually works.

Comment by odo1242 2 days ago

This reminds me of Android Runtime for Chrome (https://archon-runtime.github.io/) before Google stopped supporting it.

Comment by andsoitis 2 days ago

> no virtual machine

Android apps are usually written in Kotlin or Java, so this solution does not depend on the JVM?

Comment by chuckadams 2 days ago

Android has never used the JVM: it used to translate Java bytecode to its Dalvik VM format, called DEX, and executed that. Nowadays, all Android apps are compiled to native code ahead of time, though still using DEX as an intermediate representation in the .apk, and compiling on the device itself before first load.

Comment by andsoitis 2 days ago

Does this project do something like that OR does it use the JVM OR does it do something else altogether?

Comment by chuckadams 2 days ago

Yep, it runs on the JVM by basically doing the reverse of Dalvik, translating the DEX back into JVM bytecode, and they supply Java implementations of the Android APIs. https://github.com/kksimp/Mac.apk/wiki/How-Mac.apk-Works has all the interesting details.

Comment by quasarj 2 days ago

4 seconds looking at the Readme shows that it does indeed run the java code on a JVM

Comment by wiseowise 2 days ago

> no virtual machine

lol.

Comment by odo1242 1 day ago

Well, a JVM isn't really a VM in the sense that the author was talking about. No VM means "no virtualization of the android OS itself"

Comment by tantalor 2 days ago

Reminds me of Google vs. Oracle lawsuit for API fair use.

https://en.wikipedia.org/wiki/Google_LLC_v._Oracle_America,_....

Comment by Zigurd 2 days ago

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.

Comment by piro0919 2 days ago

I've rarely wanted Android apps on my Mac. Where I've wanted them is on my iPhone: an app that forwards incoming SMS to Gmail, and a free VPN.

Comment by red369 2 days ago

Have you looked into the Shortcuts app automations, to see whether you can forward incoming SMS to Gmail using that?

Just a couple of days ago, I deleted a shortcut/automation to forward messages to email which I had sitting around for ages. I had disabled it, but I don't remember if I disabled it because didn't need it, or I never got it working. I know WhatsApp was harder.

Free VPN? Does ProtonVPN do what you need?

Edit: By the way, I agree about wanting Android apps. I can't remember what I feel like I'm missing now - I must have learned to live without them.

Comment by jawiggins 2 days ago

Recently I've seen these game mods where people combine the game engines of two unrelated games (eg, minecraft and grand theft auto) and end up with a play-able and fun product.

I wonder how many areas of computing are about to be transformed by the class of things that used to be impossible because the engineering needed to make it happen has just gone from enterprise level to "claude please do this" level.

Comment by erickhill 2 days ago

I bet a lot of people have been doing this conversion work independently on one-off AI-assisted personal projects this year. But now someone made a thing so all those tokens (and time) can be saved!

Now for someone to make another one of these converters for webapps to become Mac apps. That would be nice, too. =) (Now I wonder if it has already been done…?)

Comment by leptons 2 days ago

>Now for someone to make another one of these converters for webapps to become Mac apps. That would be nice, too. =) (Now I wonder if it has already been done…?)

Yeah, it's called a web browser.

Comment by Broiler9437 2 days ago

Cross-platform has never been easier than ever

Comment by mkirsten 2 days ago

Crazy I was the first to star on GitHub. I’m going to give this a try for some tinkering projects.

Comment by benbristow 2 days ago

Can you disable certificate pinning? Be a good way to reverse engineer APIs if so.

Comment by gruez 2 days ago

You're probably better off using a patched android emulator image, which has better fidelity. And all of this is ignoring both would trip any app that has anti-tamper protections, neither is foolproof.

Comment by tamimio 2 days ago

Slightly off topic, what skill/diagram tool did you use to make the diagrams?

Comment by aayushprime 2 days ago

Would be cool if i could run android apps on iOS natively

Comment by bsimpson 2 days ago

People take the iOS version of Fortnite and repackage it to run on Mac.

Comment by nxobject 2 days ago

I'm looking forward to installing a TOTP authenticator app, as awful as it is in principle.

Comment by rendx 1 day ago

    oathtool --base32 --totp "SECRET2429190" | pbcopy # servicename
servicename as added comment for convienient reverse search.

Comment by masfuerte 2 days ago

For standard RFC6238 TOTP you can just use this:

https://github.com/rsc/2fa/

Comment by cyberclimb 2 days ago

checkout Ente Auth! It's a native desktop app, syncs with the mobile app, and is fully open source. Great company as well, also free (as in beer).

https://ente.com/auth/

Comment by LoganDark 2 days ago

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

Comment by yincrash 2 days ago

Looks like it will run native ARM just fine according to the readme?

Comment by LoganDark 2 days ago

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

Comment by 2 days ago

Comment by leopoldcongo 2 days ago

you didnt read the page did you.

Comment by LoganDark 2 days ago

I read the page, but didn't clone the repository locally to run an AI agent over it.

Comment by sirjaz 2 days ago

This is awesome, now this needs to work on Windows

Comment by Tarball10 2 days ago

Windows had something like this (Windows Subsystem for Android) which worked really well until Microsoft went and killed it.

Comment by pndy 2 days ago

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-...

Comment by MiddleEndian 2 days ago

Still wish Windows Phone was around. Having basically no apps was a positive and at least some people at Microsoft understood it when they advertised WP as being for people who didn't want to use their phones all the time.

Being able to say "Oh sorry I can't run that I have a Windows Phone" was fantastic, and if like 10-15% of the young adult population could say that, random services and venues would not be able expect you to install unwanted mobile apps.

Comment by forgotpwd16 2 days ago

WSA was (or is, since still works unofficially) running Android in VM underneath.

Comment by majorchord 2 days ago

BlueStacks has worked really well for me.

Comment by inknight 2 days ago

isn't BlueStacks full of chinese ads nowadays?

Comment by dawnerd 2 days ago

Unfortunately. But there really isn't anything out there as reliable as it.

Comment by majorchord 2 days ago

I wouldn't know, I block all Chinese IPs at my router.

Comment by maxloh 2 days ago

It is based on VM, so it is a lot slower.

You can't even run Instagram on a low-end laptop.

Comment by VCFundedGenYer 2 days ago

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.

Comment by 2 days ago

Comment by iAMkenough 2 days ago

No app sandboxing? User files and settings stored in the /Applications/ folder, rather than the User’s home folder?

Comment by 2 days ago

Comment by dmonterocrespo 2 days ago

Great project...it would be awesome to be able to run APK on the iPhone

Comment by tuomas2 2 days ago

This is very cool! Next IOS.apk? ;)

Comment by forgotpwd16 2 days ago

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...

Comment by tuomas2 2 days ago

I was referring to ability to run Android apps on IOS system. There are some related projects (Husk, UTM) but Apple essentially makes it almost impossible to use on ordinary iPhones.

Comment by forgotpwd16 2 days ago

Ah, true, IOS.apk rather Mac.apk. Seems Husk is building a similar compatibility layer now, whereas until now used a VM. Both approaches due to Apple's restrictions/prohibitions for Store apps need jailbreaking to use.

Comment by wffurr 2 days ago

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.

Comment by VCFundedGenYer 2 days ago

[flagged]

Comment by computing 2 days ago

obviously vibe-coded and therefore unlikely to be stable. but still good that this exists, because someone will probably take this and un-shittify (or you know, actually read) the code

Comment by quasarj 2 days ago

What year is it? 2025? nobody reads code anymore -- that would result in a _decrease_ in quality.

Comment by Ohentis 2 days ago

I'm kinda sick of people making shittier emulators and then calling it not an emulator

Comment by qalmakka 2 days ago

[flagged]

Comment by spuz 2 days ago

Why does it matter if it's easy to recognise? I prefer to know when I'm reading AI writing.

Comment by quasarj 2 days ago

I always do my best to emulate AI writing - just to keep you guessing.

Comment by manyatoms 2 days ago

You did you a hyphen rather than an emdash here though

Comment by tomkarho 2 days ago

Well they did say "emulate" and emulators are always slightly off the mark

Comment by nightfly 2 days ago

It's just overused and cliche now

Comment by asveikau 2 days ago

I think you meant to say:

It's not just overused — it's a cliche now.

Comment by Onavo 2 days ago

That's the GPT style writing, there are subtle differences between it and Claude if you know where to look.

Comment by 2 days ago

Comment by bita_nidir 2 days ago

I've recently asked claude to be concise in writing documents. It's brilliant for me. You get things like:

  <cmd> force-off  # pull the plug
No faffing around.

Comment by brailsafe 2 days ago

It may not be verbose, but it's still faffing around by using an idiom

Comment by rendaw 2 days ago

Yes, I think the appropriate thing to do here would have been

  <cmd> force-off  # force off
All the brilliance of the original, but also no inappropriate idioms.

Comment by tengbretson 2 days ago

Idioms can be much more dense than otherwise.

Comment by KPGv2 2 days ago

Darmok and Jalad at Tanagra

Comment by VyseofArcadia 2 days ago

It's also not even correct. The diagram in README says the app is run on "built-in Java runtime" after it is converted, which, as I recall, is a virtual machine.

Comment by zerr 2 days ago

Maybe it is intended for LLMs? For writings of more than a page, most readers are going to use LLM summarizations anyway.

Comment by latexr 2 days ago

> For writings of more than a page, most readers are going to use LLM summarizations anyway.

Citation very much needed. And I sure hope you’re not right, or we’re already beyond fucked.

Comment by iosguyryan 2 days ago

Feature, not bug

Comment by elxr 2 days ago

At least it's short and every "no" clause adds critical information.

This one is fine.

Comment by zx8080 2 days ago

It's not a bug, it's PR!

Comment by leptons 2 days ago

Hey, at least it didn't call it "beautiful" or "elegant".

Comment by out_of_protocol 2 days ago

Too late, people already talking like this too

Comment by dylan604 2 days ago

I remember the first time I heard a young girl talking to her friends in the TikTok pattern. That was a clear sign we were doomed.

Comment by latexr 2 days ago

> girl talking to her friends in the TikTok pattern.

https://en.wikipedia.org/wiki/Influencer_speak

Comment by KPGv2 2 days ago

why are we doomed, it sounds like normal language change pursuant to pop culture influence, just like literally always

Comment by prmoustache 2 days ago

pop culture is quite new. It has what 3 to 4 human generations?

Comment by KPGv2 8 hours ago

We're at probably a century and a half, and then I feel like we're quibbling over semantics, but the Coliseum seems like a pretty good example of a manifestation of pop culture.

But this is a digression. Language changes. It always has. What's the big deal? That it's not your generation controlling it this time?

Comment by prmoustache 4 hours ago

I was only making a comment about pop culture.

Languages have always evolved and will always evolve, I agree and am ok with that.

Comment by VCFundedGenYer 2 days ago

You're absolutely right!

Comment by alterom 2 days ago

[dead]

Comment by j45 2 days ago

Some call it a triple construction.

Comment by 2 days ago

Comment by 2 days ago

Comment by Ecko123 2 days ago

[dead]

Comment by tty456 2 days ago

How would you prefer it. Does it not get the point across? Why does it even matter to you?

Comment by GroksBarnacles 2 days ago

"Why does it matter to you?" Many Claudisms are grating to many people. Annoying is enough of a justification.

Comment by BeetleB 2 days ago

> Many Claudisms are grating to many people.

Would they be grating to them in the pre-LLM days?

Comment by GroksBarnacles 10 hours ago

You probably won't see this, but yes they would - that is why they're grating, the syntax is just awful

Comment by freeone3000 2 days ago

They would be nowhere near as prevalent. All claude-user output is in the same style, which is really annoying.

Comment by xp84 2 days ago

Precisely. Regis Philbin, Paris Hilton, Charles Barkley - they each have a pretty distinctive way of speaking and I have always actually enjoyed hearing each one's way of phrasing things. But it would quickly become hell if each week an additional 1% of the things we read was written exactly how Regis would phrase it.

(I purposely picked people with pretty specific speaking habits because yup, the Claude output is 100% that distinctive).

Comment by dylan604 2 days ago

Then tell Claude to speak in a Regis voice???

Comment by xp84 1 day ago

I don’t get to customize the prompts used by others. I’m sure if I generated a lot of prose with Claude I could convince it to talk differently. It’s all the content others make that is so annoying.

Comment by jonhohle 2 days ago

I said several months ago that bots like your coworker, personal assistant, search engine, and customer service are now all the same person. They also write all the blog posts and articles you read and scripts for YouTube videos.

Comment by DrammBA 2 days ago

> Would they be grating to them in the pre-LLM days?

No, same way "synergy" wasn't grating before every middle manager started saying it.

Comment by publlus_enigma 2 days ago

Imagine if everything in the world you read was written by one author - and you didn't particularly like that author's writing style. Or even if you did like the author's style, it began to grate on you simply because there was no reprise from it.

That's the world we are shifting to.

Comment by mahboi 2 days ago

For one, say what it does instead of what it doesn't do

Comment by enoch2090 2 days ago

> When you say "don't do X" and end up with a README saying: "achieved by using Y, not X"

Comment by mahboi 2 days ago

Or more like, "achieved by not doing X"

Comment by BeetleB 2 days ago

"Run Android apps natively on Apple Silicon Macs."

Comment by mahboi 2 days ago

Yes I got that, but afterwards it doesn't explain how until you get all the way down into the diagrams saying that it translates the code one-time. It's once again like no emulators, no virtual machine, no Android, no Linux kernel, no items, Fox only, final destination, whatever

Comment by user43928 2 days ago

"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.

Comment by axus 2 days ago

Variety is the Spice of Life

Comment by 2 days ago

Comment by conception 2 days ago

If you run a readability analysis on slop it scores very poorly. LLMs generally continue to be mediocre with the veneer of quality without context to guide them.

Comment by arborescence 2 days ago

Cliches annoyed people before LLMs. There is a whole microgenre of essay ranting about the proliferation of various annoying cliches, bits of jargon, etc. the proliferation of Claude prose is simply rendering certain turns of phrase into annoying cliches, which people are reacting to in the normal way. Cliches also get the point across but nonetheless lots of people find them grating.

Comment by flocked 2 days ago

[flagged]

Comment by dang 2 days ago

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.

Comment by zy445566 2 days ago

[dead]

Comment by ls-a 2 days ago

[dead]

Comment by MBCook 2 days ago

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.

Comment by hex4def6 2 days ago

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.

Comment by publlus_enigma 2 days ago

Then I can probably vibecode a native reverse-engineered solution to both those specific problems in less effort than it took to vibecode an Android translator for Mac.

Comment by rtpg 2 days ago

Perhaps you don't want to waste your time or tokens or whatever REing a thing and instead can use something someone else has distributed to solve the problem in a general way

Comment by gruez 2 days ago

>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?

Did you read the project page? This runs with no sandbox. If you want to run shady chinese apps, you should be running it in android emulator (a VM), not this translation layer.

Comment by bilalq 2 days ago

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.

Comment by gruez 2 days ago

>It's pretty nice and would be cool if I could do the same for Android.

android emulator?

Comment by MBCook 2 days ago

If I could I would do it during development. The app I work on needs hardware so it’s not an option.

Comment by BeetleB 2 days ago

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.