Question

Has anyone managed to get Jenkins to use the Genymotion android VM, instead of the super-slow android-emulator?

The Genymotion is actually faster than a real device on my dev machine, so would be ideal for running CI tests.

Thanks for any ideas.

Simon

Était-ce utile?

La solution

If you start the genymotion on the CI server and let it always running, then it will work fine. Although if you want to wake it up just for you tests, and shut id down afterwards, then yes, you will miss some stuff with genymotion till now.

The Jenkins Android emulator plugin was useful in that matter and there is still no equivalent with genymotion. Genymotion is still not scriptable enough to be run on command line, ideally headless.

Nevertheless, on our projects at the job, we recently switched to genymotion, start an "emulator", let it run always on the CI server and everything works fine. And it was really worth it, we cut our build times by a factor of 2, and we don't face any memory problem that was so common on the real emulator, even with HAX enabled.

A jenkins plugin would be welcome from Genymotion. I think they have it on their roadmap already.

Autres conseils

You can start a player with an already configured instance like this:

/Applications/Genymotion.app/Contents/MacOS/player --vm-name "Galaxy Nexus - 4.2.2 - API 17 - 720x1280"

Note that it is not headless.

To get the list of configured instances use VBoxManage:

$ VBoxManage list vms
"Galaxy Nexus - 4.2.2 - API 17 - 720x1280" {56d8e3aa-ecf8-483e-a450-86c8cdcedd35}

You can use either the name (in quotes) or the id with --vm-name

you can use x86 version of the emulator. Genymotion is basically a x86 version emualtor, that is why it is faster than Android arm version emulator.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top