Genymotion Shell

Genymotion provides a shell to script the modification of sensor statuses.

Starting Genymotion Shell

To start Genymotion Shell, perform the action corresponding to your operating system:

Windows

Double-click in your application menu or desktop, or run this command in a command prompt.

macOS

Double-click in your application menu or desktop, or run this command in a command prompt.

Click from the Applications directory or run this command in a terminal:

/Applications/Genymotion Shell.app/Contents/MacOS/genyshell

Linux

In a terminal, run:

~/genymotion/genymotion-shell or /opt/genymotion/genymotion-shell

Connecting to a Cloud virtual device

It is also possible to use Genymotion Shell to interact with Cloud virtual devices. To do so, you must first start a Cloud virtual device, see Cloud Virtual Devices, and follow the steps below:

1. Forward the Cloud virtual device TCP port 6379 to your local machine with ADB. You can do this by running the following command in a terminal. You can use any available local port, for example 6379. The command above forwards the Cloud virtual device TCP port 6379 to your local machine TCP port 6379. 2. Launch Genymotion Shell and connect to the Cloud virtual device by running the following command in a terminal. For example, if you used 6379 as the local port in the previous step, the command would be:

Interacting with Genymotion Shell

Once you have launched Genymotion Shell, you can use the following commands to perform various basic actions:

| Option | Description | |---|---| | help | Displays the list of available commands. | | version | Returns Genymotion Shell version. | | exit/quit | Closes Genymotion Shell. |

Interacting with virtual devices

To modify sensor statuses and values of a virtual device, Genymotion Shell provides commands grouped by category corresponding to the component of the virtual device they interact with. This section lists available commands of each category.

The main commands are:

Devices

The devices command interacts or returns results about virtual devices themselves. Available subcommands are:

| list | Lists available local virtual devices and provides details such as current status, IP address and name. | |---|---| | refresh | Refreshes the virtual device list. | | select <device_ID> | Selects a virtual device. Add the ID of the virtual device you wish to select (as displayed in the device list). | | factoryreset <device_ID> [force] | Resets the virtual device to factory state. Add the ID of the device you wish to reset (as displayed in the device list). Adding the option force at the end skips the warning message about data loss. |

Battery

The battery commands interact with the Battery widget. Available subcommands are:

| getmode | Returns the current battery mode of the selected virtual device. | |---|---| | setmode | Sets the battery mode of the selected virtual device: host: the virtual battery values reflect the host battery values (if any). manual: the virtual battery charge level and state of charge can be manually set. | | getlevel | Returns the current battery charge level of the selected virtual device. If the battery mode is host, the returned value is the host value. | | setlevel | Sets the battery charge level of the selected virtual device. The value must range from 0% to 100%. This command forces the activation of the manual mode. | | getstatus | Returns the current battery state of charge of the selected virtual device. | | setstatus | Sets the battery state of charge of the selected virtual device. Available statuses are: discharging <0-100>: simulates that the power supply is unplugged and the battery is discharging. charging <0-100>: simulates that the power supply is plugged in and the battery is charging. notcharging <0-100>: simulates that the power supply has just been unplugged and the battery is not discharging yet. full: simulates that the battery is fully charged. |

GPS

The gps command interacts with the GPS widget. Available subcommands are:

| getstatus | Returns the activation status of the GPS signal reception. | |---|---| | setstatus | Sets the activation status of the GPS signal reception: enabled: the GPS signal reception is enabled. disabled: the GPS signal reception is disabled. | | getlatitude | Returns the current latitude value. | | setlatitude | Sets the latitude value. The value must range from -90° to 90°. | | getlongitude | Returns the current longitude value. | | setlongitude | Sets the longitude value. The value must range from -180° to 180°. | | getaltitude | Returns the current altitude value. | | setaltitude | Sets the altitude value. The value must range from -10000m to 10000m. | | getaccuracy | Returns the current accuracy value. | | setaccuracy | Sets the accuracy value. The value must range from 0m to 200m. | | getbearing | Returns the current bearing value. | | setbearing | Sets the bearing value. The value must range from 0° to 359.99°. |

Rotation

The rotation command interacts with the rotation feature.

Available subcommand is setangle <value> to set the rotation angle value of the virtual device. Value must be 0, 90, 180 or 270 degrees.

Android

The android command interacts with the Identifiers widget. Available subcommands are:

| version | Returns the Android version of the selected virtual device. | |---|---| | getandroidid | Returns the Android ID number of the selected virtual device. | | setandroidid | Sets the Android ID number of the selected virtual device: random: generates a random Android ID number. custom <value>: sets a custom Android ID. The value must contain 16 hexadecimal digits. | | getdeviceid | Returns the device ID (IMEI/MEID) number of the selected virtual device. | | setdeviceid | Sets the device ID (IMEI/MEID) number of the selected virtual device: none: does not generate a device ID number. random: generates a random device ID number. custom <value>: sets a custom device ID. The value must contain alphanumeric characters, dots, dashes and/or underscores. |

Disk I/O

The diskio command interact with the Disk I/O widget. Available subcommands are:

| clearcache | Clears the disk cache. | |---|---| | getreadratelimit | Returns the read rate limit in KB/sec. If no read rate limit is set, the read rate is unlimited. | | setreadratelimit <value> | Sets the disk read rate limit in KB/sec. The value must range from 1 to 2097151. Use 0 to disable read rate limit. |

Network

The network command interact with the Network widget. Available subcommands are:

Android 8.0 and higher Android 5.0 - 7.1

| setstatus <option> | Toggle Wifi or mobile data: wifi <enabled/disabled> mobile <enabled/disabled> | |---|---| | getstatus <option> | Returns the current status of the given interface: wifi mobile | | setsignalstrength <option> | Set the signal strength of wifi or mobile connection: wifi <none\|poor\|moderate\|good\|great> mobile <none\|poor\|moderate\|good\|great> | | getsignalstrength <option> | Returns the signal strength of the given interface wifi mobile | | setmobileprofile <option> | Set the mobile network profile: none: No network gsm: 2G GSM gprs: 2G GPRS edge: 2G EDGE umts: 3G UMTS hsdpa: 3G HSDPA lte: 4G LTE 5g: 5G | | getmobileprofile | Returns the current mobile network profile. | | getprofile | Returns the current network profile of the selected virtual device. | | setprofile <option> | Sets the network profile of the selected virtual device: no-data: No network connection. gprs: GPRS network connection. edge: Edge network connection. 3g: 3G network connection. 4g: 4G network connection. 4g-high-losses: 4G network connection with packet losses set to 10%. 4g-bad-dns: 4G network connection with a DNS delay set to 3000ms. wifi: Wi-Fi network connection. |

Phone

The phone command interact with the Phone widget. Available subcommands are:

| call <number> | Simulates an incoming phone call from a given phone number. | |---|---| | sms <number> <string> | Simulates an incoming text message from a given phone number. | | baseband gsm <option> | Emulates GSM baseband functions: list: lists all incoming and outgoing phone calls and their state. call <number>: simulates a new incoming call from a given phone number. busy <number>: hangs up an outgoing call (performed from the integrated Dialer application) and reports the remote phone as busy. hold <number>: simulates that an incoming or outgoing phone call (performed from the integrated Dialer application) is put on hold. accept <number>: simulates that the outgoing phone call (performed from the integrated Dialer application) is answered. cancel <number>: simulates that an incoming or outgoing phone call is hung up. <data/voice> <value>: modifies data or voice connection state. Values: unregistered or off (no network available); home or on (on local network, non-roaming); roaming (on roaming network); searching (searching networks); denied (emergency calls only). status: displays the current status of the GSM emulation. signal: changes the reported strength and error rate on the next 15-second update. Use rssi <value> (0–31), ber <value> (0%–7%), or rs_snr <value> (-200–300). Unknown rssi and ber values return 99. | | baseband cdma <option> | Emulates CDMA baseband functions: ssource: sets the current CDMA subscription source: nv (non-volatile RAM) or ruim (RUIM). prl_version <value>: dumps the current PRL version. | | baseband sms <option> | Simulates text messages via baseband: send <number> <string>: simulates an incoming text message from a given phone number. pdu <hex_string>: simulates a new incoming text message defined in the PDU format. |

Sensors

The sensors command interacts with the Motion Sensors widget. Available subcommands are:

| getgyroscope | Get device gyroscope sensor value in rad/s (yaw, pitch, roll) | |---|---| | setgyroscope | Set device gyroscope sensor value in rad/s (yaw, pitch, roll) | | getproximity | Get device proximity sensor value in cm [0.0:10.0] | | setproximity | Set device proximity sensor value in cm [0.0:10.0] |

The Proximity sensor is currently not implemented in the Motion Sensors widget.

Interacting with Genymotion

The genymotion command allows you to perform actions related to the Genymotion Desktop application. Available subcommands are:

| capabilities | Returns Genymotion features available on the selected virtual device. | |---|---| | clearcache | Clears temporary files and logs. | | version | Returns the Genymotion version of the selected virtual device. | | license | Returns information about the Genymotion license (type, validity). |

Using Genymotion Shell from a command prompt or script

You can connect to Genymotion Shell and interact with a virtual device from a command prompt or in a script. Options below are specific to the command line interface:

| Option | Description | |---|---| | -q | Remove header in output. This option makes Genyshell output less verbose. | | -h | Displays the list of available options. | | -r <IP> | Connects to a given virtual device with its IP address. | | -c "<command>" | Runs a command on the selected virtual device and returns corresponding values. | | -f <file> | Runs the content of a file on the selected virtual device, and returns the corresponding values line by line. |

Source: https://docs.genymotion.com/tools/desktop/genyshell

Published:

Keywords: Genymotion Shell, virtual device, sensor statuses