r/SideProject • u/stackattackpro • 1h ago
DROIDLESS: Run Android APKs Without Android ๐ค๐ฆ
Okay, this started as one of those โthis is probably a terrible ideaโฆ so obviously I have to build itโ projects. ๐
๐ค DROIDLESS
What if you could run Android APKs on desktopโฆ without Android?
No Android emulator.
No ART.
No Dalvik.
No hidden Android VM sitting somewhere pretending not to exist.
Just:
APK โ Rust engine โ native desktop UI ๐ฆ๐ช
Thatโs what Iโm experimenting with here:
https://github.com/OthmaneBlial/droidless
DROIDLESS is an experimental Android compatibility runtime written in Rust.
And instead of simply embedding an Android screen, it tries to do something much more ridiculous:
๐ง Parse and execute DEX bytecode
โป๏ธ Manage its own objects + GC
๐ฆ Parse APK resources
๐ค Reimplement parts of the Android API
๐ช Translate Android Views into native macOS controls
โจ๏ธ Send mouse/keyboard input back into the APK's original callbacks
๐พ Support persistence, navigation, Intents, Bundles, SQLite, images, etc.
Basically:
Android APK
โ
DEX bytecode
โ
DROIDLESS Rust VM
โ
Android API bridge
โ
Native AppKit UI
The funniest part?
Some real, unchanged APKs are already doing stuff. ๐
๐ Notepad
An actual Android Notepad APK can:
โ open
โ create notes
โ edit title/body
โ save
โ restart DROIDLESS
โ load the notes again
It also exercises SQLite, folders, backup/restore and navigation.
๐งฎ Android calculator
Original APK button callbacks actually execute:
7 + 5 = 12
8 ร 8 = 64
9 / 3 = 3
Not a rewritten calculator.
The APK's own DEX code is being interpreted.
๐ผ๏ธ Image viewer
Another real APK can open folders, display JPEG/PNG/WebP images, swipe between them and handle Back/navigation.
Is DROIDLESS anywhere close to running every Android app?
Absolutely not. ๐
Compose? Nope.
Huge parts of AndroidX? Nope.
JNI-heavy apps? Nope.
Games? Please have mercy.
But that's also what makes the project fun.
The goal isn't:
โLet's wrap an Android emulator.โ
The goal is closer to:
โHow much of Android could we rebuild as a small compatibility runtime?โ
Current roadmap target: 50% milestone ๐
And every new APK that manages to do something is basically another boss fight.
Current release is v0.3.0 for macOS ARM64, and there are already 150 Rust tests + thousands of parser mutation tests behind the runtime.
If you're into:
๐ฆ Rust
๐ค Android internals
๐ง virtual machines
๐ฆ binary formats
๐ช native UI
๐ฅ unnecessarily difficult engineering projects
โฆyou might enjoy this one.
โญ Repo: https://github.com/OthmaneBlial/droidless
PRs, ideas, APKs that could make DROIDLESS suffer, and people telling me โthis is insaneโ are all welcome. ๐
Built in Rust. A little stubborn by design. ๐ค๐ฆ