Skip to content
Projects

m9rco/Genymotion_ARM_Translation

View on GitHub

m9rco/Genymotion_ARM_Translation has 2,352 GitHub stars and 414 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-06 22:33 UTC. Last push 2026-10-24.

How these counts are measured

Genymotion ARM translation packages: legacy Android 4.3–9.0 and experimental Android 11–14 x86_64 ARM64 bundles, with offline configuration tools and checksums.

Measured star growth

in 24h
0
in 7 days
Update delayed
in 15 days
Update delayed
in 1 month
Update delayed

Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.

README.md

Original

Genymotion ARM Translation

Download website

Download Android 11 ARM64/ARMv7 package · Installation

ARM translation resources for Genymotion Desktop: preserved legacy x86/ARMv7 packages plus experimental Android 11–14 x86_64 ARM64 integrations (ARMv7 only in the Android 11 profile).

For Intel/AMD hosts and ARM64 applications, start with the Android 11 setup. It includes a pinned external payload, guarded configuration/restore scripts and a runtime acceptance procedure. Real-device runtime validation is pending. The legacy ZIPs below remain 32-bit only.

简体中文 · ADB guide · Package audit

Additional package downloads · Latest changes — 2026-10-24 · Compatibility and upstream status

Legacy packages and compatibility

This repository preserves prebuilt packages, not the translation engine's source code or a reproducible build system. Package names indicate their intended Android versions, not a current compatibility certification. No emulator runtime validation was performed for the 2026-10-24 maintenance update.

Android image Package Status
4.3 Download ZIP Replacement historical ZIP; integrity checked, runtime unverified
4.4 Download ZIP Legacy; archive integrity checked
5.0 Download ZIP Historical API 21 package; integrity checked
5.1 Download ZIP Legacy; archive integrity checked
6.0 Download ZIP Legacy; archive integrity checked
7.x Download ZIP Legacy; archive integrity checked
8.0 Download ZIP Legacy; archive integrity checked
9.0 Download ZIP Legacy; archive integrity checked
11 / API 30, x86_64 Experimental ARM64/ARMv7 integration External payload; runtime unverified
12–14 / API 31–34, x86_64 ARM64 experimental package Shared upstream payload; ARM64 only; runtime unverified
8.1, 10, 15+ and other unlisted versions No matching package obtained Do not substitute another version.

There are no dedicated 7.1 or 8.1 builds here; the historical 7.X label does not establish validation on every 7.x image. Use the named package only with an appropriate disposable legacy image. Reports about using the 8.0 package on 9.0 are mixed (#12, #26); they do not extend the supported range.

For current host/image ABI compatibility, consult the Genymotion installation guide. Apple Silicon uses ARM64 images and is outside this legacy x86 package workflow. For ARM64 applications, use a compatible ARM64 device/image, or obtain an APK built for the target device's ABI. See also Genymotion SaaS deployment and Android ABI documentation.

Install on a legacy x86 image

Flashing changes the Android system and can leave a virtual device unusable. Back up needed data and use a disposable device. Install ARM translation before Open GApps, as described in the official flashing instructions.

  1. Check the virtual device's Android version and ABI with ADB (see setup):

    adb devices -l
    adb -s SERIAL shell getprop ro.build.version.release
    adb -s SERIAL shell getprop ro.product.cpu.abi
    adb -s SERIAL shell getprop ro.product.cpu.abilist
    

    Replace SERIAL with the intended Genymotion device from adb devices -l. On old Android images, abilist may be empty; also inspect ro.product.cpu.abi2.

  2. Download the matching ZIP above. Keep it compressed. Verify its hash against SHA256SUMS, then drag the ZIP onto the running virtual device and accept the flash prompt.

  3. Reboot the virtual device after flashing:

    adb -s SERIAL reboot
    
  4. Once Android has finished booting, inspect the ABI properties again. Seeing armeabi-v7a (and sometimes armeabi) alongside x86 indicates advertised 32-bit ARM support; it does not prove that a particular app will run.

  5. Install an APK with compatible native libraries:

    adb -s SERIAL install "application.apk"
    

If drag and drop only copies the ZIP, check the image/version and downloaded file first. On legacy images that actually provide /system/bin/flash-archive.sh, the manual fallback is:

adb -s SERIAL shell ls /system/bin/flash-archive.sh
adb -s SERIAL push "package/Genymotion-ARM-Translation_for_8.0.zip" /sdcard/Download/arm-translation.zip
adb -s SERIAL shell sh /system/bin/flash-archive.sh /sdcard/Download/arm-translation.zip
adb -s SERIAL reboot

This example is for Android 8.0 only; substitute the matching local ZIP. Stop if the script is missing or flashing fails. Do not repeatedly flash packages from other versions.

Troubleshooting

INSTALL_FAILED_NO_MATCHING_ABIS

Compare the device properties above with the APK's native library directories:

unzip -Z1 "application.apk" | awk -F/ '$1 == "lib" && NF >= 3 {print $2}' | sort -u

An APK containing only arm64-v8a libraries cannot use the legacy 32-bit packages. On an Android 11 x86_64 Genymotion guest, see the separate experimental ARM64 integration. For split APK installs, inspect all APKs in the split set, including the ABI split; the base APK alone can be misleading. No lib/ output only means no conventional native libraries were found in that APK, not guaranteed compatibility.

Installation succeeds but the app crashes

Translation is not full hardware emulation. A matching ABI is necessary for native libraries but does not guarantee runtime compatibility. Capture logs immediately after reproducing the failure:

adb -s SERIAL logcat -d > genymotion-logcat.txt

Check for native crashes, missing libraries, graphics requirements and root detection. Genymotion documents other installation and runtime limitations. Recreate a disposable device if flashing caused a boot failure; preserve needed data before resetting anything.

Android 10+, ARM64, or building a new translator

Android 11 x86_64 now has a separate experimental ARM64/ARMv7 integration using an external, hash-pinned third-party payload. Runtime validation is pending. Android 12–14 has a separate experimental ARM64 package. Android 8.1, 10 and 15+ still have no matching package here. This repository does not contain the translator engine source needed to build new engine versions.

Integrity and maintenance

From the repository root, with Python 3:

python3 scripts/verify_packages.py

This checks the exact package inventory, SHA-256 hashes and ZIP CRCs without extracting or executing package contents. On macOS/Linux, hashes can also be checked with shasum -a 256 -c SHA256SUMS; on Linux, sha256sum -c SHA256SUMS is another option. These checks detect changes relative to this repository's baseline; they do not establish upstream authenticity, licensing or emulator compatibility.

For a deliberate package update, review the source and redistribution terms, run python3 scripts/verify_packages.py --write-checksums, review the resulting diff, then run verification again. CI never regenerates hashes automatically.

Before opening an issue, search existing reports and include the host CPU/OS, Genymotion version, Android image/version, package filename and hash, device ABI output, APK ABI list, reproduction steps and relevant logs. Remove private information from logs before sharing.

License and provenance

The repository includes an MIT license. Bundled third-party translation binaries retain their owners' rights; the repository license does not establish that those binaries are MIT-licensed. Genymotion identifies ARM translation libraries as Intel property. Known provenance and audit limits are recorded in the package audit.

Explore related projects