Genymotion is a breath of fresh air for Android development, much needed.
Recording screencasts is a big win. It was previously too slow using emulators or screen cappers. There are a few Android apps that do it directly on the device, but you have to root it to run them!
Also, it's great for co-workers who don't have an Android device. e.g. we're porting to iOS app right now, and the iOS developer can see Android features without having an Android device.
The core is open-source and available on GitHub [1], but seems to be scattered across a number of repositories. Not clear if it's buildable purely from the repository currently (I haven't tried).
It was previously an independent open-source project, AndroVM [2], which Genymobile acquired, but they agreed to keep the core open-source [3].
For speed, nothing beats Genymotion. If also want to test the latest android, I found installing the latest Android-x86 image under virtualbox to be painless. If you want to run ARM code, be sure to install the Intel ARM translator. There are also several very fast Windows options too, such as Windroy[2], YouWave[3], and BlueStacks[4]. All of these solutions run faster than the official android emulator.
Genymotion is absolutely amazing. Not only is it super fast but also has images with Google Apps, which are almost impossible to get on an emulator.
The downside of using Genymotion is that it's so fast it will hide a lot of performance issues that you will see when running on an actual device. So please, test early and often on actual hardware with extreme amounts of data.
+1 to your performance advice - my x86 images (both through 'emulator' and Genymotion) are actually faster than a real phone.
For performance testing I recommend using a Galaxy Ace (actually using - install some apps, fill it up with data) and testing your app on it. If it's fast on that it'll be fast on just about anything!
Shouldn't Google acquire them already? It's surprising and quite unnatural to see other companies make faster emulators than Google themselves (which may not be because Google doesn't have the technical expertise to do it, but because they're not that seriously committed to doing that, and they think the current emulator is fast enough).
Yes, I wish they would, but if they really cared about boosting Android performance, picking up Myriad for their Dalvik Turbo would be a better choice. It's 2-3x faster[1] closing the huge performance gap between Google's JIT and Oracle's.[2]
Looking over the changelog from Android 2.2-4.3, there's no mention of performance tweaks to Dalvik. They even have the father of JIT, Lars Bak, working for them. But he's focused on the V8 JS engine and doesn't provide any assistance with Android.[3]
Am I the exception here? I've always found the qemu x86 images fast enough (with kvm support in the kernel). Genymotion doesn't feel particularly faster than the standard x86 images.
My understanding is that one of the original ideas behind Android and its API levels was that anyone could implement the Android API to run Android apps.
Doing exactly this to build a simulator would seem an obvious step. No virtualisation necessary, good performance, and good enough for the majority of use cases.
Recording screencasts is a big win. It was previously too slow using emulators or screen cappers. There are a few Android apps that do it directly on the device, but you have to root it to run them!
Also, it's great for co-workers who don't have an Android device. e.g. we're porting to iOS app right now, and the iOS developer can see Android features without having an Android device.