49

I need to start genymotion via shell command, does anyone know if it is possible to do this?

viniciusmo
  • 974
  • 2
  • 10
  • 15
  • Quick link to Genymotion FAQ is https://www.genymotion.com/#!/support?chapter=start-virtual-devices-command-prompt#faq – olyv Apr 29 '15 at 12:15

4 Answers4

70

Genymotion proposes a shell: the Genymotion Shell. It is not currently possible to start a VM with it.

But you can however launch a Genymotion VM thanks to this command:

player --vm-name <VM id | VM name>

This command launches the Genymotion's player that gives you access to all the Genymotion enhancements widgets (GPS, battery, rotation, ...), the screen scaling, rendering, ... Like the standard GUI launch.

If you want to use a Genymotion VM without the enhancements, you can launch it via the VirtualBox command line like this:

VBoxManage startvm gui <VM id | VM name>

The VM id can be found thanks to this command line:

VBoxManage list vms

It displays a list of your VirtualBox machines on this format: name {id}.

UPDATE

Since Genymotion 2.5.0 you can manage all your Genymotion devices thanks to a command line tool. With this tool you can create, start, stop, delete, push files, flash the device, ... Here is a simple example to create a device and start it:

gmtool admin create "Google Nexus 5 - 4.4.4 - API 19 - 1080x1920" myNexus
gmtool admin start myNexus

This feature is available for paid licenses.

Community
  • 1
  • 1
eyal-lezmy
  • 7,090
  • 3
  • 41
  • 35
  • Check the update. I've given you the right command line to launch the VM as it is on the GUI. – eyal-lezmy Sep 12 '13 at 20:51
  • 2
    I use Genymotion on a Mac. I can't find "player" command. How do I find it? – David Jan 17 '14 at 21:20
  • Your prompt need to be located on the Genymotion folder where the "player" binary is. I don't know where it should be on a Mac. – eyal-lezmy Feb 01 '14 at 20:37
  • Ok, solved it. It turned out that I was able to start Genymotion only as root. So the VM was in the VirtualBox for the root account... Sorry. – Luis A. Florit Mar 09 '14 at 06:51
  • 1
    @David find it inside the application bundle – xbtsw Jun 04 '14 at 23:05
  • 7
    player was located at /Applications/Genymotion.app/Contents/MacOS/player on Mac. – Chris.Zou Jun 12 '14 at 06:39
  • This help me start a Genymotion VM from shell, but is there any way to run the VM headless totally? I mean no GUI when running the virtual device, like Android's `emulator -avd test -no-skin -no-audio -no-window`? – calfzhou Sep 16 '14 at 02:02
  • This is not supported for the moment by Genymotion. – eyal-lezmy Sep 16 '14 at 08:51
  • When I use `VBoxManage startvm gui `, I get a shell, but the OS doesn't enter a graphical mode. Works fine when Genymotion starts the VM. What's Genymotion doing differently? – Daniel Lubarov Apr 14 '15 at 00:25
  • Hi Daniel, the Genymotion player that you launch with `player --vm-name` opens a channel with the VM to handle the Android graphical stack rendering. By this we are able to render all the graphics through the computer's GPU. – eyal-lezmy Apr 15 '15 at 14:31
  • The `player --vm-name` stuff is very neat. I added it as a shortcut to the Windows taskbar. Very seamless experience! Thank you! – Kim Homann Jul 20 '16 at 12:50
  • @xialin to stop the emulator simply run the same command with -x at the end – Russ Wheeler Nov 09 '17 at 22:39
22

For windows.

Retrieve the list of available virtual devices by running:

<Genymotion installer path>\genyshell -c "devices list"

Start one of the virtual devices by running:

<Genymotion installer path>\player --vm-name "<virtual device name>"

UPD 8 may 2019: I'm create simple wrapper for genymotion cli on bash. Link to github here.

Yura Shinkarev
  • 5,134
  • 7
  • 34
  • 57
20

As of Genymotion 2.6.0 (Dec 2015), it appears they have moved the player executable to be player.app.

On OSX you can launch a desired VM like this:

# First, get a list of the VM's you have installed
VBoxManage list vms
# Returns something like "5.0.0 - API 21 - 768x1280" {091d022d-6a7b-4475-845f-7a6e06024fb6}

Copy the VM ID, e.g. 091d022d-6a7b-4475-845f-7a6e06024fb6, and then use it again like this:

# Launch a specific VM
open -a /Applications/Genymotion.app/Contents/MacOS/player.app --args --vm-name '091d022d-6a7b-4475-845f-7a6e06024fb6'
plowman
  • 13,335
  • 8
  • 53
  • 53
0

In addition to @eyal-lezmy answer, here is what I do with the current Genymotion 3.2.1:

  • List the available devices
gmtool admin list

Output example

 State    |   ADB Serial    |                UUID                |      Name
----------+-----------------+------------------------------------+---------------
      Off |         0.0.0.0 |6aa30cf2-217a-4a27-9d29-13e41a351bd7| Google Pixel 3
      Off |         0.0.0.0 |8ab62c9c-ef26-4a6b-870c-8db4fa54ed76| Samsung Galaxy S9
  • Start a device
player -n 8ab62c9c-ef26-4a6b-870c-8db4fa54ed76

Instructions to find the binary location can be found in the Genymotion Shell doc

Pierre de LESPINAY
  • 44,700
  • 57
  • 210
  • 307