Root Access¶
Rooting allows Android mobile operating system users to reach privileged control (known as root access) over various Android subsystems. As Android uses the Linux kernel, rooting an Android device gives similar access to administrative (superuser) permissions as on Linux or any other Unix-like operating systems such as FreeBSD or macOS.
Root toggle is currently only available for Android 14.0 from Genymotion Desktop 3.7.0 onward. Other Android versions are all rooted and cannot be unrooted for the moment.
Root and Unroot a device ¶
3.7.0 · 14.0
Android 14.0 image is not rooted by default.
Rooting and unrooting the device is controlled via the device property persist.sys.root_access
which can be changed from the Advanced Developer Tools or when creating or editing a device from the launchpad:
Open the Advanced Developer Tools Widget and toggle "Root Access":
This feature is only available with Android 14.0 for the moment. The toggle button will be unavailable with other versions.
When creating a device, check the "Root Access" option in the new device creation window:
Then proceed to create the device. Root access will then be enabled by default.
This feature is only available with Android 14.0 for the moment: toggling root access will have no effect with other versions.
Edit a virtual device and go to the GENERAL tab. There, you can toggle Root access by checking the "Root Access" option:
This feature is only available with Android 14.0 for the moment: toggling root access will have no effect with other versions.
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.
Root access for applications¶
Android 14.0 image is not rooted by default: Superuser will only be available once the device has been manually rooted.
Superuser is already installed on rooted Genymotion Desktop 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!
Android 14.0 is no longer rooted by default: root access is only accessible after the device has been manually rooted.
Other images than Android 14.0 are always rooted: when logging with adb shell
, you will already be logged as root.
Run the command adb shell
to login to the instance console as shell user and use the su
command to switch to root user:
adb shell
vbox86p:/ $ su
:/ #
adb root
command to switch directly to root user:
adb root # Switch to root user
adb shell # Access the device shell
:/ #
Then, use adb unroot
to switch back to standard user.
How to sign your system app¶
Android 14.0 is a user build type, whereas older Android versions are userdebug build types.
Android 14.0 is signed with release keys: you can use the keys provided in this public repository to sign your system apps.
Other Android versions are signed with the default AOSP test keys.