uxazu / AEmulator
git clone https://github.com/uxazu/AEmulator.git
Android emulator that emulates older Android firmware versions.
+17
stars, 24h · #2,122
+~140
stars, 7 days · #1,544
+381
stars, 30 days · #2,148
381
★ total · +58% this week
46
forks · 43 open issues
Star history (as recorded here)
LanguageC
LicenseGPL-3.0
Created2026-09-24 (29d ago)
Last push4d ago
Watchers6
OwnerUser
Links
- GitHub: github.com/uxazu/AEmulator
- Releases · Issues · Hacker News mentions
README excerpt
# AEmulator *Based on the original SENSES emulator* **Run classic Android firmware — HTC Sense, TouchWiz, MIUI, AOSP — on a modern phone. No root, no PC.** **🇬🇧 English** · 🇷🇺 Русский · 🇺🇦 Українська · 🇩🇪 Deutsch · 🇫🇷 Français · 🇪🇸 Español · 🇧🇷 Português · 🇮🇹 Italiano · 🇵🇱 Polski · 🇹🇷 Türkçe · 🇸🇦 العربية · 🇮🇷 فارسی · 🇮🇳 हिन्दी · 🇮🇩 Indonesia · 🇻🇳 Tiếng Việt · 🇨🇳 简体中文 · 🇯🇵 日本語 · 🇰🇷 한국어 --- AEmulator boots a real Android 2.3–17 system image straight from a firmware file you already have: a recovery ZIP, an Odin archive, a Google factory image or a GSI. Old 32-bit firmware (2.3–4.4) runs through a patched QEMU, Android 5.0–17 runs natively on the phone’s arm64 cores. The kernel’s binder is emulated, graphics use your phone’s GPU and sound goes through Android’s audio stack — everything runs inside a normal app. ## ✨ Features - Import almost any firmware format: CWM/TWRP ZIP, Samsung Odin `.tar.md5`, Google factory `.tgz`, `system.img`, OTA `system.new.dat.br` - Vendor skins work as shipped: HTC Sense, Samsung TouchWiz, MIUI, AOSP - Hardware graphics through the GL bridge, sound, touch and multitouch, network with a modern TLS proxy - Shared memory-card folder for APKs, music and photos - Material 3 Expressive interface in 18 languages - Free and open source (GPL-3.0) ## 📱 Firmware list The list of firmware that has been checked — with statuses, notes and download links — lives on our forum. Share your results there, ask questions and find new images. ## 🚀 Quick start 1. Download the APK from Releases and install it. 2. Find a firmware on the forum and download it to your phone. 3. Open AEmulator → **Add firmware** and pick the file. Import takes a few minutes. 4. Press **Start**. The first boot is slower: the system optimises its apps. 5. Use the ⋮ menu for volume, power button and logs; the ⚙️ button opens app settings and language. ## 📋 Requirements - Android 8.0+ on a 64-bit ARM phone (arm64-v8a) - About 1–3 GB of free space per firmware - A recent Snapdragon / Dimensity / Tensor chip is recommended ## ⚙️ How it works On Android 2.3–4.4 each guest process runs under a patched user-mode QEMU; on 5.0–17 the firmware’s own arm64 programs run natively, with one engine kernel per Android version catching their system calls. A binder daemon replaces the kernel driver, a GL bridge forwards OpenGL ES calls to the phone’s GPU, and small guest libraries (audio HAL, audio policy wrapper, LD_PRELOAD shim) adapt vendor code to the emulator. The importer reads the firmware, finds the init scripts in its boot image and builds a start plan for system services. ## 🛠️ Build from source You need JDK 17, Android SDK 36 and NDK r28. Native guest parts are built with the scripts in `native/*/build.sh`. [code] ## 🙏 Credits AEmulator grew out of the HTC Desire HD and HTC One M7 emulators by the original author — their engine made this project possible. ## 💙 Support the project If AEmulator brought back a phone you loved, you can support development: - 💳 dalink.to/uxaz