I’ve used Nexus 5 system image with Google APIs.There are few more details that are of great importance. This brings us to the conclusion that the best one is x86 with Google APIs.īefore we pit our winning emulator against Genymotion. Well, I’ll tell you the problem with every one of them.Įmulator with Google APIs is more stable, things tend to crash without them. The winner of the competition is x86 with Google APIs I did some research and benchmarking with these combinations and this is what we came up with. The biggest question of all is x86 or x86_64 and with Google APIs or without them. The first time you try to set-up one of these it gives you so many options that you’ll feel like you are in Subway restaurant.
This was a manual task, imagine doing it on a CI infrastructure with lots of machines.
The task at hand was to get rid of Genymotion used in CI infrastructure and machine.Īt a quick glance it seems like a stupid move as Android emulators are slow and buggy, they seem counterproductive, but when you get into the nitty-gritty of the situation you’ll actually find Android emulator to be superior. I'm using Genymotion in CI infrastructure and on my machine. Let’s jump to how the situation is today. But it is quite stable & fast compared to plain old android emulators which run on qemu. Then came along Genymotion, which is just an Android VM running in a virtual box. Problem solved!!! NO!Īndroid emulators were still slow from what people wanted. Now you can run x86 Android emulator on an x86 machine. Then came along the x86 images of Android which are way faster as they get rid of the ARM to x86 platform change. What can you expect out of an ARM emulator running on an x86 machine? Every instruction had to be converted from ARM to x86 architecture which makes it really slow. But they were too slow to use, the reason being a change of architecture. Long ago Android emulator was the only way to go. Psst: I have some benchmarks down the line, stick around. I’m not saying Genymotion is inadequate but is slower when running tests compared to certain Android emulators.Ī little background on the subject and then we’ll jump to the good stuff. They have other products like Genymotion on Cloud & Genymotion on Demand which are not being considered here. Wherever I say Genymotion I mean Genymotion Desktop. All benchmarks were done on a mid-2015 MacBook Pro. Use x86 (32 bit) image with Google APIs, 3GB ram, quad-core CPU.ĭisclaimer: I’ve tested my use case which to me looks the general use case i.e. TL DR: Android emulator is faster than Genymotion when configured right. I’ve gathered some data around the most common use case according to me, based on this I’ll be evaluating all the android emulators along with Genymotion. There has always been a debate about which android emulator to choose or to go with Genymotion, I’ve seen most of the discussion ending in favor of Genymotion.
Originally published at on September 3, 2017. Note 2: Since Charles v3.10 single SSL Root Certificates aren't supported anymore.Has the Android emulator improved enough to take on Genymotion
Note 1: After install the certificate you will be forced to create a security Pin/Pattern/Password for the device. ) and click on the file in order to install it. put it on a device (via adb push, email.save the certificate via "Help -> SSL Proxying -> Save Charles Root Certificate.".
After you have managed your device to communicate via Charles http proxy, you need to download and install certificate from your running instance of Charles, its generated and signed by a Charles Root Certificate.īasically there are two ways possible (I prefer the first one): Download and install directly on deviceĭevice has to be configured to communicate via Charles! Updated reflecting changes since Charles 3.10įor enabling plain text communication on SSL connections Charles act as a Man in the Middle.