Root Access

Rooting allows Android mobile operating system users to reach privileged control over various Android subsystems. This is known as root access. Android uses the Linux kernel. Rooting provides access to administrative permissions similar to those on Linux or other Unix-like operating systems such as FreeBSD or macOS. The root toggle is not available for all Android images. Please refer to the table in the Root and Unroot a device section.

Root and Unroot a device

Our most recent Android images are not rooted by default. They can be rooted dynamically. The page lists images for arm64 and x86/x86_64 architectures. The x86/x86_64 images are deprecated and will be removed after March 30, 2026.

arm64

Android version | Initial state | Dynamic root toggle

16.0 | Unrooted | /

15.0 | Unrooted | /

14.0 | Unrooted | /

13.0 | Unrooted | /

12.1 | Unrooted | /

12.0 | Unrooted | /

11.0 | Unrooted | /

10.0 | Unrooted | /

9.0 | Rooted |

x86/x86_64 images

Android version | Initial state | Dynamic root toggle

14.0 | Unrooted | /

13.0 | Rooted | /

12.1 | Rooted | /

12.0 | Rooted | /

11.0 | Rooted | /

10.0 | Rooted | /

9.0 | Rooted | /

8.1 | Rooted | /

8.0 | Rooted | /

7.0 | Rooted | /

6.0 | Rooted | /

5.1 | Rooted | /

5.0 | Rooted |

gmsaas CLI is required to use this feature. Rooting and unrooting the device is controlled via the device property persist.sys.root_access, which can be changed only by command line, with adb, for the moment. To toggle root, follow this tutorial to connect your instance to ADB with gmsaas. Run the following ADB command:

``adb shell setprop persist.sys.root_access 3


Once the device is rooted, root access is available and can be granted to applications or obtained via the command line interfaces, as explained in the sections below. To disable root, run the ADB command:

adb shell setprop persist.sys.root_access 0

## Root access for applications
Root toggle is not available for all Android images. Please refer to the table in the Root and Unroot a device section. Superuser is already installed on rooted Genymotion SaaS virtual devices. When an application requests root access, it prompts a pop-up asking whether root access should be authorized or denied. The default policy can be changed using the Superuser application.

## Root access by command line (adb)
Connecting as a root user may damage your instance or jeopardize your data. USE AT YOUR OWN RISK! Root toggle is not available for all Android images. Please refer to the table in the Root and Unroot a device section. To toggle root, follow this tutorial to connect your instance to ADB with gmsaas. Run the following ADB command:

adb shell setprop persist.sys.root_access 3

Once the device is rooted, root access is available and can be granted to applications or obtained via the command line interfaces, as explained in the sections below. To disable root, run the ADB command:

adb shell setprop persist.sys.root_access 0
``

How to sign your system app

Unrooted images are user build types, whereas rooted images are user debug build types. Please refer to the table in the Root and Unroot a device section for more information. Unrooted images are signed with release keys; you can use the keys provided in this public repository to sign your system apps. Rooted images are signed with the default AOSP test keys.

[End of content]