← Back
uxazu

uxazu/AEmulator

Android emulator that emulates older Android firmware versions.

View on GitHub ↗
Stars
97
Forks
11
Watchers
97
Open issues
13
Contributors
1
Language
Kotlin
License
GNU General Public License v3.0
Default branch
main
Created Sep 24, 2026Updated Sep 29, 2026

Star growth

Today—
This week—
This month—

Star history will appear here once this repo has been tracked for a couple of days.

README

AEmulator logo

AEmulator

Run classic Android firmware — HTC Sense, TouchWiz, MIUI, AOSP — on a modern phone. No root, no PC.

Version License Android Forum Telegram Website

🇬🇧 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–7.x system image straight from a firmware file you already have: a recovery ZIP, an Odin archive or a Google factory image. It translates the old ARM code with a patched QEMU, emulates the kernel’s binder, draws with your phone’s GPU and plays sound 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.

Forum

🚀 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

Each guest process runs under a patched user-mode QEMU. 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.

git clone https://github.com/uxazu/aemulator.git
cd aemulator
./gradlew assembleRelease

🙏 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/uxazu

🔗 Links

  • 🌐 Website: aemulator.gt.tc
  • 💬 Forum: aeforum.uxazuu.space
  • 📣 Telegram channel: @aemulatorofficial
  • 👤 Author: uxazu
  • 🧬 Original author: t.me/istratiit_ech

📄 License

GPL-3.0. Android, trademarks and firmware belong to their owners.