Wednesday, June 20, 2012

Run ARM Apps On Android x86 4.0.4 Ice Cream Sandwich

Android x86 early adopters had various compatibility issues running Android on x86 CPU in the past. Now Android on x86 has getting better development and support. Thanks to the developers who spent many hours to hack to make things work. Buildroid's mastermind Daniel Fages who builds "Buildroid for VirtualBox" successfully runs ARM apps on Android x86 platforms.

Due to the Android x86 platforms are incompatibility with NDK apps which are compiled only for ARM processors, we can found lots of popular Android apps like Angry Birds and Acrobat Reader aren't compatible with Android x86. On Android Market/Google Play, it states "Your device isn't compatible with this version" on certain apps, kind of a letdown. Now with Fages' hack, we can download the ARM apps from Google Play app and run them on Android x86.

Fages' hack was based on Intel's Medfield-powered Android smartphone. He looked into the Intel's "binary translation" function that contains "houdini" library and ARM libraries, which enables ARM apps running. Also a modified "Dalvik"'s "libdvm" library. He used the libhoudini, ARM libraries, and libdvm on Android-x86 2.3.7 Gingerbread and the ARM apps works. However, Android Ice Cream Sandwich is much more complex that he can't just simply replace the Ice Cream Sandwich's libdvm. With hours of efforts, Fages managed to make it work finally.

You can read the rest and download the Buildroid OVA on:

Simple as usual, import the Buildroid OVA file to VirtualBox and it is ready to fire up. (Please click here for installation details)

If you get VirtualBox error message while starting Buildroid like this below:

Failed to open a session for the virtual machine

Nonexistent host networking interface, name 'vboxnet0'

Result Code: E_FAIL (0x80004005)
Component: Console
Interface: IConsole {1968b7d3-e3bf-4ceb-99e0-cb7c913317bb}

To solve this, go to Settings > Network, change Attached to: NAT under Adapter 1 tab. Buildroid should able to start. (It works for me)

Although not all ARM apps work correctly, it is a major step for Android x86 to supports huge number of Android applications. I ran Angry Birds Space on Android x86, it is very laggy. The game got slightly better on reduced screen resolution of 640 x 480 - 16 but still not on desired performance. I also installed Samsung Galaxy S3's S Voice on Android x86, the app runs without crashing but no mic supports. Please don't get frustrated if any apps don't work correctly because this is just a test version at this current stage. The whole operating system works without any problem on my computer so far.

1 comment:

  1. can you try this? so you can check the speed of virtual box