Home » I’ve rooted my phone. Now what? What do I gain from rooting?

I’ve rooted my phone. Now what? What do I gain from rooting?

Solutons:


Things that Require Root

Root File Explorers

You can remount your /system/ directory read-write, which will allow you to remove carrier-shipped applications you don’t like and so on. Root file explorers can allow you to view all folders on your phone, such as /data/ which is normally protected.

  • Mount /system RO/RW
  • Root Explorer
  • ES File Explorer

Patching Apps

With root access you can patch other apps to gain special access to functions, or removal of self-protection for some apps.

  • Freedom – Get iAP (in-App Purchase) for free! Buy diamonds, rubies and Pro unlocks without real money. Note: Legal restrictions may apply depending on your country/region.
  • Lucky Patcher – Patch apps so that they don’t require Google Play Services / displays no more ads / automatically become Pro version / work at certain DPI… There’s many you can do with Lucky Patcher and there’s even a bunch of patches provided already.

Moving & Removing Apps

Access to /system also means you can move apps or updates to system apps from /data to /system (with caution!), if the partition has enough space.

  • Titanium Backup – Back up all of your applications and data. Also allows you to uninstall or freeze system apps, integrate updates into your ROM to save space, move apps to SD, and more.
  • apps2rom – does for free what the pro version of titanium backup does: lets you move apps to the system partition.
  • Bloatfreezer – Freeze or remove system apps
  • Link2SD – Move (system) applications to a second partition in SD card, liberating loads of free space in /system partition.

Note that moving apps to the sdcard has risks and cons, and should be undertaken only if space is needed. Most modern devices have enough memory for many apps (16GB+), providing that photos/videos/music are stored on an external sdcard.

Tethering

Some devices already have Wi-Fi tethering out-of-the-box, like the Samsung Galaxy S, so this isn’t such a big deal on them unless the carrier charges for the feature.

  • Android Wi-Fi Tether
  • Wireless Tether

Screenshots & screen recording

root is needed for screenshots before 4.0-Ice Cream Sandwich.
Most pre-lollipop screen recorders also require root.

  • ShootMe
  • Drocap2

Backups

  • Titanium Backup – Back up all of your applications and data. Also allows you to uninstall system apps, integrate updates into your ROM to save space, and so on.
  • ClockworkMod Recovery (ROM Manager) – Usually requires root to install via ROM Manager. Allows you to backup the entire device, including your ROM, as well as flash new ROMs and other advanced tasks.

There are also many apps that claim to make a full nandroid backup.

Application/Network Control

  • AdFree – Removes ads by changing the hosts file (so both ads in apps and in browser)

  • Adaway – Also blocks in-app adds.

  • Droid Wall – Firewall application. Got an app that’s using up all your data when you’re not even using it? Block it with this!

  • Orbot – Tor app

  • Cache Mate – Clear cache of all apps

  • Droid VNC Server – Connect to your phone via VNC

  • LBE Security Master – Selectively revoke permissions from app

  • Button Savior – Helps to add on screen button to compensate a failure of a physical button.

  • ClockSync – to automatically sync the device’s time with few predefined atomic clocks.

Xposed Framework

The Xposed framework allows apps with advanced tweaking functionality to be installed.

  • GravityBox (for Android 4.2 4.4 5.0 5.1 6.0) – An app that provides many system tweaks.
  • XInstaller – Various tweaks for Package Installer.
  • XHangouts – Improved version of google hangouts.
  • XWhatsApp – Mod for the popular whatsapp messenger.
  • XPrivacy – Finegrained app control.

CPU Control

  • SetCPU – Control the processor speed of the phone, can also setup profiles. It allows underclocking based on conditions, e.g. underclock to 125mhz when screen is turned off. It dramatically increases battery life without affecting performance (when you’re actually using apps / the phone) or can improve performance via overclocking.
  • Overclock Widget – Similar to SetCPU but less functional

Enable swap file / partition

  • ROEHSOFT RAM-EXPANDER (SWAP) – Use SD card for more RAM.

  • Memory Swapper Free – support swap file.

Advanced and Miscellaneous

  • ROM Manager – Facilitates installing new ROMs with ClockworkMod Recovery, and allows you to back up your entire device (ROM + apps + data) and other advanced tasks.
  • Quick Boot – Allows you to reboot into recovery or the bootloader / Download Mode.
  • LED Hack – Disable LED on phone (no longer available on Android Market)
  • Lag fixes – Various tweaks and filesystem changes to speed up your phone or prevent issues with your phone pausing / freezing temporarily. These are particularly useful on some Samsung phones that use an RFS filesystem. An Ext4 lagfix like Voodoo is recommended, but there are also Ext2 lagfixes like RyanZA’s One Click Lag Fix which also allows you to change advanced memory, Wi-Fi, and disk scheduling options.
  • TRIM – Some older kernels do not have TRIM.
  • StickMount – Automatically mount USB flash drives, keyboards, mouse via USB OTG cable.
  • BusyBox – Makes terminal emulators feel more like linux.
  • Sideloading apps. Most carriers/phones allow this option but AT&T does not.

ROMs

Though root is not required for flashing new ROMs, many apps that make it easier do require root.

CyanogenMod is a very popular rom that many people put on their phones. It is also easy to install via the ROM Manager app. First install the Clockwork recovery. Then run a backup before you flash any roms.

Also check out “Where can I find stock or custom ROMs for my device” or the XDA forums for other custom roms. Most devices have a specific “Android Development” sub-forum where ROMs are posted.

Always do a nandroid backup before installing any rom or mod! You may also need to wipe all data and cache from your phone before installing or upgrading a ROM.

Custom Kernels

One popular set of kernels is those provided by ChevyNo1. You can also download them via the premium version of the ROM Manager. Make a nandroid (ClockworkMod) backup before using these kernels! You’ll also want to get SetCPU to make the most out of these kernels.

Start with the low voltage kernels at the lowest speed and work your way up to the 1.2GHz. If your phone is stable up to the 1.2GHz range, then try some of the ultra low voltage kernels. If you start getting force closes, then switch back to a low voltage kernel.

Basically each phone (of the same phone brand/model) varies by which kernel it can handle due to the manufacturing differences between processors. So I may have a Motorola Droid that can run ultra low voltage kernels and yours may not be able to run them. These phones weren’t necessarily designed to run like this.

In few words, rooting an Android system means overcome the limitations that were imposed over it by the manufacturer. People may want that for different reasons, but the main one is freedom. Having a rooted phone means you’ve got all the control over your device.

The main reason people root phones is to install a custom ROM. Custom ROMs are often known for improvements in performance and exclusive features that are not present on manufacturer ROMs, like installing apps on sdcard or taking screenshots. Custom ROMS can also become a system update alternative for those devices that were abandoned by their manufacturers. You can see a review of popular ROMS, as an example, here.

Rooting Android also allows you to uninstall stock apps that you don’t use or don’t want, besides those that violates user’s privacy (see CarrierIQ). Another main reason for doing that is to gain more space on internal storage.

A rooted device lets you install almost any app that requires root access. Those apps generally aim to do something that would not be possible without that privilege. A lot of useful apps were shown on the previous answer, but you may find a lot more available on Google Play. You can find a list of good apps here.

Google is trying to reduce the need for rooting by improving the permitted system services. Nowadays screenshots, screen recording and tethering typically don’t require root.The reasons I can think of to still root:

  • To uninstall and/or backup default apps.
  • To move files and apps around without restrictions.

    • Copy/paste/unzip anywhere with a root explorer.
    • Integrate/migrate apps from your /data partition to the /system partition in order to save space and preserve them from factory resets.
    • Edit your system hosts file to block ads (adaway). Edit your icon resource file (txt) to include a launcher icon for your favorite app. Etc.
  • To run programs with more power:

    • More Tasker functionality
    • Better power management with apps like Greenify.
    • Hook into any app or resource with Xposed.
      • Ricing (gravitybox)
      • Adding unofficial features to the Youtube (or other popular-) app.
      • Fine grained app permission management with Xprivacy.
    • Run command line utilities (busybox) like (re)mounting your filesystems, or scanning all partition files to see what takes up space.
    • Reverse tethering (use my laptop/desktop internet via usb or wifi)
    • Change CPU performance policies.
    • Online flashing of a new image to storage, or make a full backup. The non-root way involves recovery/fastboot methods.

Related Solutions

Explaining computational complexity theory

Hoooo, doctoral comp flashback. Okay, here goes. We start with the idea of a decision problem, a problem for which an algorithm can always answer "yes" or "no." We also need the idea of two models of computer (Turing machine, really): deterministic and...

Building a multi-level menu for umbraco

First off, no need pass the a parent parameter around. The context will transport this information. Here is the XSL stylesheet that should solve your problem: <!-- update this variable on how deep your menu should be --> <xsl:variable...

How to generate a random string?

My favorite way to do it is by using /dev/urandom together with tr to delete unwanted characters. For instance, to get only digits and letters: tr -dc A-Za-z0-9 </dev/urandom | head -c 13 ; echo '' Alternatively, to include more characters from the OWASP...

How to copy a file from a remote server to a local machine?

The syntax for scp is: If you are on the computer from which you want to send file to a remote computer: scp /file/to/send username@remote:/where/to/put Here the remote can be a FQDN or an IP address. On the other hand if you are on the computer wanting to...

What is the difference between curl and wget?

The main differences are: wget's major strong side compared to curl is its ability to download recursively. wget is command line only. There's no lib or anything, but curl's features are powered by libcurl. curl supports FTP, FTPS, HTTP, HTTPS, SCP, SFTP, TFTP,...

Using ‘sed’ to find and replace [duplicate]

sed is the stream editor, in that you can use | (pipe) to send standard streams (STDIN and STDOUT specifically) through sed and alter them programmatically on the fly, making it a handy tool in the Unix philosophy tradition; but can edit files directly, too,...

How do I loop through only directories in bash?

You can specify a slash at the end to match only directories: for d in */ ; do echo "$d" done If you want to exclude symlinks, use a test to continue the loop if the current entry is a link. You need to remove the trailing slash from the name in order for -L to...

How to clear journalctl

The self maintenance method is to vacuum the logs by size or time. Retain only the past two days: journalctl --vacuum-time=2d Retain only the past 500 MB: journalctl --vacuum-size=500M man journalctl for more information. You don't typically clear the journal...

How can I run a command which will survive terminal close?

One of the following 2 should work: $ nohup redshift & or $ redshift & $ disown See the following for a bit more information on how this works: man nohup help disown Difference between nohup, disown and & (be sure to read the comments too) If your...

Get exit status of process that’s piped to another

bash and zsh have an array variable that holds the exit status of each element (command) of the last pipeline executed by the shell. If you are using bash, the array is called PIPESTATUS (case matters!) and the array indicies start at zero: $ false | true $...

Execute vs Read bit. How do directory permissions in Linux work?

When applying permissions to directories on Linux, the permission bits have different meanings than on regular files. The read bit (r) allows the affected user to list the files within the directory The write bit (w) allows the affected user to create, rename,...

What are the pros and cons of Vim and Emacs? [closed]

I use both, although if I had to choose one, I know which one I would pick. Still, I'll try to make an objective comparison on a few issues. Available everywhere? If you're a professional system administrator who works with Unix systems, or a power user on...

How do I use pushd and popd commands?

pushd, popd, and dirs are shell builtins which allow you manipulate the directory stack. This can be used to change directories but return to the directory from which you came. For example start up with the following directories: $ pwd /home/saml/somedir $ ls...

How to forward X over SSH to run graphics applications remotely?

X11 forwarding needs to be enabled on both the client side and the server side. On the client side, the -X (capital X) option to ssh enables X11 forwarding, and you can make this the default (for all connections or for a specific connection) with ForwardX11 yes...

What does “LC_ALL=C” do?

LC_ALL is the environment variable that overrides all the other localisation settings (except $LANGUAGE under some circumstances). Different aspects of localisations (like the thousand separator or decimal point character, character set, sorting order, month,...

What is a bind mount?

What is a bind mount? A bind mount is an alternate view of a directory tree. Classically, mounting creates a view of a storage device as a directory tree. A bind mount instead takes an existing directory tree and replicates it under a different point. The...

Turn off buffering in pipe

Another way to skin this cat is to use the stdbuf program, which is part of the GNU Coreutils (FreeBSD also has its own one). stdbuf -i0 -o0 -e0 command This turns off buffering completely for input, output and error. For some applications, line buffering may...