Add ARM translation support via libhoudini for ARM64 app compatibility #41
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Android x86_64 emulator advertises only
x86_64,x86ABIs, blocking installation of ARM-only apps withINSTALL_FAILED_NO_MATCHING_ABIS. Many modern Play Store apps no longer provide x86 builds.Changes
Core Implementation
first-boot.sh): Downloads and installs libhoudini 9_y (ARM32) and 9_z (ARM64) from android-x86.org with GitHub fallback. Configures Native Bridge for transparent ARM-to-x86 binary translation.build.propto advertisex86_64,x86,arm64-v8a,armeabi-v7a,armeabisupport. Removes existing entries to prevent duplicates.ARM_TRANSLATIONflag (default: enabled in compose, disabled in docs) enables installation during first boot or post-deployment.Dependencies & Fixes
squashfs-toolsto Dockerfile for.sfsarchive extractioncopy_extras()to handle empty directories and spaces in filenames properlyDocumentation
TESTING_ARM_TRANSLATION.mdwith verification steps and test scenariosIMPLEMENTATION_SUMMARY.mdwith technical detailsResult
After enabling
ARM_TRANSLATION=1:$ adb shell getprop ro.product.cpu.abilist x86_64,x86,arm64-v8a,armeabi-v7a,armeabi $ adb install arm-only-app.apk Success # Previously: INSTALL_FAILED_NO_MATCHING_ABISARM apps run with translation overhead; x86 apps maintain native performance. Installation adds 3-5 minutes to first boot for library downloads (~25MB total).
Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.