Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Jenkins - Use Genymotion VM instead of Android Emulator [closed]

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

like image 834
sipickles Avatar asked Aug 12 '13 08:08

sipickles


2 Answers

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.

like image 132
Snicolas Avatar answered Nov 15 '22 04:11

Snicolas


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

like image 43
k s Avatar answered Nov 15 '22 04:11

k s