How to create your own skin in Genymotion Desktop

How to create your own skin in Genymotion Desktop?

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. To do so, you will need: 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 and it must be named

background.png.

For example: backgound.png

---

JSON File

Then you need to create a JSON file named

skin.json

, which contains the following information.

Name

"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

"display":{

"offset":{

"x": int,

"y": int

},

"size":{

"width": int,

"height": int

}

}

The display attribute sets the size and offset of your skin.

offset This parameter sets the offset between your skin and the device display.

size This parameter sets the width and height of the virtual device resolution.

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

"resizeMargins": {

"left": int,

"top": int,

"right": int,

"bottom": int

}

The resizeMargins attribute defines the resizable margins of the window. Note that the window will only be resizable from bottom and left sides, but you still need to define the other sides in case the virtual device is rotated.

---

Example

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:

---

Was this article helpful? Yes No

20 out of 26 found this helpful

Need more help? Request Technical Support Return to top

Related articles