Due to Genymotion's fluidness and ease of use, it now becomes the most popular android emulator allows android developers to test their app directly on their computer.
However, it still lacks of Google Services just like Google Play Store, Google Maps, etc. on Genymotion emulator which makes us developer not be able to test those functionalities that use Google Services for example GCM Push Notifications or Google Maps.
Anyway it is not a problem anymore since there is some simple steps to do to make Google Services be avaiable on Genymotion with some help from CyanogenMod's gapps.
Step 1: Install ARM Translation - The secret behind Genymotion's fluidness is its ROM is compiled to x86 to match the most popular computer's CPU Architecture. But CyanogenMod's gapps is compiled in ARM. That's the reason why we can't just simply install gapps on Genymotion. To make it works, we need to install an ARM Translation which will let those ARM apps be able to run on this x86 virtual device.
To install, download Genymotion-ARM-Translation_v1.1zip and then drop&drop the downloaded file to an opened Genymotion virtual device. After file transfering is done, there will be a confirmation dialog like below. Just simple click OK to flash it on virtual device.
There will be an another dialog to let you know that the flashing process is done.
You need to reboot the virtual device now but we don't suggest to just close the virtual device and relaunch it once again since it may leads to some weird behaviour. To make it done completely find, you need to reboot the device through command line like this:
In case you accidentally close the virtual device, don't be panic. You might need to relaunch for a few times before it can boot up.
Step 2: Install gapps - Before we go on to the next step, you need to download the flashable zip of gapps by your virtual device's Android version:
Android 5.0.x, Android 4.4.x, Android 4.3.x, Android 4.2.x, Android 4.1.x, Android 4.0.x, Android 2.3.3
And then drop&drop the downloaded file to a virtual device like previous and go through the flashing process.
Reboot the virtual device once again.
After the virtual device is booted up, you will notice that Google Play services has stopped problem will keep popping up like this:
Don't be surprised and don't panic. You did it all right. This error happens because the installed gapps is just too old and didn't match the latest ROM Genymotion provided. All you need to do is be patient and login to Google Play Store and update all of installed app.
And also don't forget to update Google Play Services as well. It should be notified through the device's notification area after your pressed the Update All button in Google Play Store.
Congratulations, Google Play Services are now available on your Genymotion virtual device. A by-product of this installation is you are also able to run the app compiled in ARM on Genymotion as well.
Hope you find this article helpful. =)
Source: XDA-Developers, CyanogenMod
Author: nuuneoi (Android GDE, CTO & CEO at The Cheese Factory)
A full-stack developer with more than 6 years experience on Android Application Development and more than 12 years in Mobile Application Development industry. Also has skill in Infrastucture, Service Side, Design, UI&UX, Hardware, Optimization, Cooking, Photographing, Blogging, Training, Public Speaking and do love to share things to people in the world!