Friday, September 27, 2013

Android-x86 4.3 on VirtualBox with Google Play Services

I've run Android on VirtualBox over the past couple years (2.3, 4.0 part 1, 4.0 part 2) as it provided a considerable performance improvement over the standard emulator. After I picked up an Ivy-Bridge-based Mac Mini, the sheer performance improvement over my prior machines made up for much of the slack in the emulator and allowed them to be a pretty decent and simpler alternative to the VirtualBox solution. Recently however I did find another excuse to re-explore Android on VirtualBox and found a couple pleasant surprises.

Out-of-the-box 4.3 from Android-x86

I learned that Android-x86 posted a build of 4.3 shortly after its arrival, and I decided to give it a shot. Unlike prior builds of earlier Android versions, this build worked right out of the box. There's really not a whole lot of configuration details to add from my prior experiences. Here's a screenshot of a basically un-customized install ticking its way onward to 2 weeks of uptime.

I used the same settings that I had used for Android 4.0, except that I happily managed to get away with using only 256 MB of RAM. There was no need for special partitioning for an SD card, and customizing screen resolution was similar to my prior experience except that I didn't have to adjust the DPI setting.

Google Play Services

An additional motivation to retry Android on VirtualBox was to see whether Google Play Services might work better on it. I recently integrated Google Play Game Services into tXtFL Mobile, and one issue that cropped up during testing is that the standard emulator's version of the Play Services is baked into the emulator image so that it can't be updated separately from the entire emulator image.

Where this became a problem was when a version of the Google Play Services SDK was released that was incompatible with the emulator's version. Android on the emulator gave an error message to the effect, "Google Play services out of date.  Requires 3159100 but found 3136130," and unfortunately that meant waiting for another emulator release, which took almost a month to fix after it was first reported and reared its head again briefly awhile later although has now been fixed.

The Android-x86 version thankfully includes the Google Play Store, and what that means is that unlike the standard emulator, Android-x86 on VirtualBox can install updated versions of Google Play Services. After initially installing Android-x86 4.3 on VirtualBox, my app promptly crashed while attempting to sign into Google Play. After waiting awhile and rebooting, however, I found that Play Services had updated itself, and subsequent sign-ins worked without a hitch.

Play Services has continually kept itself updated since then, and here's the latest version, with a number higher than that on my phone or the emulator (834000-30). The version number itself is the same though (3.2.65).

Now I just have to wait for Android-x86 to release a 4.4-based build.
Post a Comment