Genymotion Desktop supports skins and comes with a set of 4 default skins (2 phones & 2 tablets). However, you can design and use your own custom skin.
Requirements for a custom skin
You will need the following elements.
1. A background image (background.png)
2. A JSON file (skin.json)
All these elements have to be put in a new folder in ~/.Genymobile/Genymotion/skins (Linux, macOS) or %LOCALAPPDATA%\Genymobile\Genymotion\skins (Windows).
For example, ~/.Genymobile/Genymotion/skins/my-phone-skin/ or %LOCALAPPDATA%\Genymobile\Genymotion\skins\my-phone-skin/.
Background image
The background image must be in PNG format.
The background image must be named background.png.
For example:
background.png
JSON file
Then you need to create a JSON file named skin.json.
The JSON file contains the following information.
Name
The name attribute uses a string value.
"name": "string"
This attribute allows you to give a name for your skin. After creation, you should find your skin in the Virtual device installation window if you want to create a new device with this skin.
Display
The display attribute sets the size and offset of your skin.
offset
The offset parameter sets the offset between your skin and the device display.
size
The size parameter sets the width and height of the virtual device resolution.
"display": {
"offset": {
"x": int,
"y": int
},
"size": {
"width": int,
"height": int
}
}
> Important: The height and width of the background image must not be lower than height + offset x and width + offset y, or your skin will not be valid and you will get a BACKGROUND_FORMAT_ERROR error.
Resize Margins
The resizeMargins attribute defines the resizable margins of the window.
The window will only be resizable from bottom and left sides.
You still need to define the other sides in case the virtual device is rotated.
"resizeMargins": {
"left": int,
"top": int,
"right": int,
"bottom": int
}
Example
Content of the skins folder
Content of the skins folder:
~/.Genymobile/Genymotion/skins/skin-test/
├── background.png
└── skin.json
Content of skin.json
{
"name": "skin-test",
"display": {
"offset": {
"x": 150,
"y": 150
},
"size": {
"width": 720,
"height": 1280
}
},
"resizeMargins": {
"left": 75,
"top": 75,
"right": 75,
"bottom": 75
}
}
Here is a diagram explaining precisely each parameters from skin.json:
background.pngskin.json- final result
Related articles
- I get the error "msvcr100.dll is missing"
- I can't find Google Play Store. Where is it?
- How to install Xposed,EdXposed or LSPosed in Genymotion?
- Is there a trial for Genymotion Desktop Pro edition?
- How to install Magisk on Genymotion?