How to start Genymotion device with shell command?
Asked Answered
P

4

50

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

Pyrophyllite answered 12/9, 2013 at 15:31 Comment(1)
Quick link to Genymotion FAQ is genymotion.com/#!/…Dermatoglyphics
I
71

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.

Irreparable answered 12/9, 2013 at 19:47 Comment(12)
Check the update. I've given you the right command line to launch the VM as it is on the GUI.Irreparable
I use Genymotion on a Mac. I can't find "player" command. How do I find it?Solnit
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.Irreparable
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.Hamel
@Solnit find it inside the application bundleBoost
player was located at /Applications/Genymotion.app/Contents/MacOS/player on Mac.En
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?Ornery
This is not supported for the moment by Genymotion.Irreparable
When I use VBoxManage startvm gui <vm>, 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?Angevin
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.Irreparable
The player --vm-name stuff is very neat. I added it as a shortcut to the Windows taskbar. Very seamless experience! Thank you!Vulcanism
@xialin to stop the emulator simply run the same command with -x at the endGrandsire
I
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.

Imogen answered 2/10, 2015 at 8:7 Comment(5)
It works for Linux also (well, you have to change the slashes of course)Tiedeman
As of today, this is the only way to run a device via command line without paying for a license. +1Hellenhellene
To halt VM: player -n $NAME -xFafnir
The github link is brokenMyrlmyrle
Fixed, correct link is github.com/yshinkarev/my-bash/blob/master/android/…Imogen
I
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'
Imaimage answered 11/12, 2015 at 2:17 Comment(0)
C
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

Carchemish answered 23/8, 2022 at 9:14 Comment(0)

© 2022 - 2025 — McMap. All rights reserved.