Root Access is privileged control over Android subsystems.
Rooting is the process by which Android users obtain Root Access.
Non-rooted Android Images
Genymotion Desktop offers several unrooted Android images which can be rooted dynamically.
| Android version | Initial state | Dynamic rooting (license required) | | 16.0 | Unrooted | / | | 15.0 | Unrooted | / | | 14.0 | Unrooted | / | | 13.0 | Unrooted | / | | 12.1 | Unrooted | / | | 12.0 | Unrooted | / | | 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 | / |
Root and Un-root a device
Rooting and un-rooting the device is not available on rooted Android images (11.0 and below).
Rooting and un-rooting the device is controlled by the device property persist.sys.root_access.
The property persist.sys.root_access can be changed from the Advanced Developer Tools when creating or editing a device from the launchpad.
When creating a device, check the "Root Access" option in the new device creation window.
Then proceed to create the device. Root access will be enabled by default.
To modify an existing device, open the GENERAL tab of the virtual device editor. There, check the "Root Access" option to toggle root access.
Open the Advanced Developer Tools Widget and toggle "Root Access".
Once the device is rooted, root access becomes available.
Root access can be granted to applications.
Root access can be obtained via the command line interfaces, as explained in the sections below.
Root access for applications
For a non-rooted image, Superuser becomes available only after manual rooting.
For a rooted image, Superuser is installed by default. When an application requests root access, a prompt asks whether to authorize or deny.
The Superuser policy can be changed using the Superuser application.
Root access by command line (adb)
Warning: Connecting as a root user may damage the instance or jeopardize data. Use at your own risk.
Root access remains accessible only after manual rooting for non-rooted Android images.
With rooted images, root access is available when logging in with adb shell.
Run the command adb shell to access the instance console as the shell user and use the su command to switch to the root user:
adb shell
vbox86p:/ $
su
:/
#
Or, you can also use the adb root command to switch directly to the root user:
adb root
# Access the device shell
adb shell
vbox86p:/
#
Then, use adb unroot to switch back to the standard user.
How to sign your system app
Non-rooted Android images are user build type, whereas rooted Android versions are userdebug build types.
Non-rooted Android images are signed with release keys: you can use the keys provided in this public repository to sign your system apps.
The other rooted Android images are signed with the default AOSP test keys.