Armbat
Download

Builds and release notes.

Stable builds are cut from master. Nightly tracks the last commit and can break between releases.

Latest stable
v0.1.2
Releases
3

Builds

Latest stable

v0.1.2

Published Nov 03, 202630.7 MB APK32 downloads

Shared storage is now one place instead of two. The guest's Java half and its native half used to disagree about the root of /sdcard, so a game that built its data path from the framework looked into an empty tree and fell back to the Google Play expansion downloader.

What changed

  • /sdcard means /sdcard/armbat everywhere: Environment.getExternalStorageDirectory(), hard-coded /sdcard, /mnt/sdcard and /storage/emulated/0 in the archive's dex, and the kernel's path layer for native code.
  • Per-app trees keep their place: /sdcard/Android/data/<package> and /sdcard/Android/obb/<package> still map to /sdcard/armbat/android/{data,obb}/<package>.
  • Fixed: UE3 titles that validate unpacked data through the framework (The Gods HD checks /sdcard/CalviGames) pass the check and start their engine.
  • Kernel sockets for LAN and internet, with a guest DNS resolver shim.
  • Screen: fixed the display size a guest is told, added a widescreen option.
  • Unity: fixed loading and touch delivery.
  • GLES: added missing entry points that older engines probe before they start.
  • Debug build installs beside the release one.
Earlier builds2
v0.1.1Oct 27, 202630.6 MB APK60 downloads
  • file: armbat-0.1.1-2.apk
  • size: 30M
  • sha256: d9efed7fb4e7f3fe7f662e33e6a6da7efcc39c102cc361d1e76f4161a4344f46
v0.1.0Oct 27, 202630.6 MB APK12 downloads

First public build of Armbat - a container that runs 32-bit ARMv7 Android apps and games on 64-bit devices that have no 32-bit ABI at all. No root, no second Android, no virtual disk.

What works

  • Real bionic userland: linker, libc, libm, libdl and C++ runtime from the Android 7.0 armeabi-v7a system image.
  • A32 -> ARM64 JIT on Dynarmic; the guest's Java code runs on the system ART.
  • EGL/GLES on the device GPU, OpenSL ES audio, MotionEvent pass-through with multitouch, rotation.
  • ELF32 loader (dlopen/dlsym, ARM relocations), Linux ARM syscall layer, JNI bridge.
  • Library UI: import an APK, launch it, delete it; data, saves and OBB live under /sdcard/armbat.
Nightly / Updated Nov 06, 2026

Armbat nightly

Automatic build of the latest commit. Not a stable release.