For many people, the two main advantages of buying a Nexus device are prompt updates and the ability to root without much hassle. But in a cruel twist of fate, these two features are almost mutually exclusive, since OTA updates will refuse to run on rooted devices.
In the past, this has always meant that updating your rooted Nexus required hooking the device up to a computer and running complicated fastboot commands. But now, thanks to a recent update to a popular root app, we can finally apply firmware updates entirely from within Android.
This method should not be used to update across major Android version bumps—for instance, from 6.0 Marshmallow to 7.0 Nougat. It's perfectly fine for minor updates like monthly security patches and "x.0.1" releases, but when Android gets a new codename, you'll still have to take the time to flash the factory images in order to make sure you don't experience any bugs.
If you're trying to update your Nexus to a new milestone release like Nougat, the best method is still either Nexus Root Toolkit or ADB. I've previously covered both of these methods in detail, so use the following guide for help on that front.
The app that allows you to update your rooted Nexus from within Android is called FlashFire, and it was created by legendary developer Chainfire. So to start, simply install FlashFire from the Google Play Store.
Next up, you'll need to download the latest factory images package for your device, as this is the Android update itself. So to start, head to the following link from your Nexus.
From here, tap the "Contents" link at the top of the page, then select your device from the list. Next, scroll down to the bottom of the following table, then click the download link next to the most recent Android version available for your device.
The factory images package is a rather large file, so you'll need at least 1 gigabyte of free space to save it to your device, and the download itself may take as long as 20 minutes.
Once the factory images package is done downloading, go ahead and open the FlashFire app. From here, you'll be prompted to give the app Superuser access, so tap "Grant" on the popup. Next, you'll see a disclaimer message, so tap "Agree" here.
Once you've made it to FlashFire's main menu, tap the floating action button in the bottom-right corner. Next, choose the "Flash firmware package" option.
From here, use the file browser menu to navigate to your device's Download folder, then select the factory images package that you just downloaded. If you're not sure which file is the factory images package, look for the one with the .tgz extension at the end of the file name.
At this point, FlashFire will analyze the factory images package, which can take as long as 2 minutes.
Once FlashFire is done scanning the factory images package, you'll see a pop-up menu with several different selectable options—these are the individual images that make up the Android update.
If you'd like, you can deselect the Recovery image to preserve an existing installation of TWRP recovery, but I'd recommend leaving all of the options selected exactly as they are. At the very least, make sure that Boot, System, and Vendor are selected, as these are the core elements of the Android update. But either way, when you're done with this menu, tap the check mark at the top of the screen.
Important: If you want to simply update your Nexus and preserve your data, make sure that Data is left unchecked. This is how OTA updates work—they simply bring in new stuff while leaving everything else as-is.
At this point, you're ready to install the Android update—but since FlashFire is capable of adding multiple jobs to its flashing queue, you may want to take this time to have it reinstall the Xposed Framework once it's done installing the Android update.
If that's the case, simply tap the floating action button in the bottom-right corner again, then choose "Flash ZIP or OTA." From here, use the file browser menu to select the Xposed Installer ZIP, then press the check mark to add it to your flashing queue.
From here, regardless of if you opted to install Xposed or not, the only thing left to do now is to install the Android update. So scroll down to the very bottom of FlashFire's main menu, then tap the "Flash" button, and press "OK" to confirm your choice.
At this point, your screen will go black for as long as a minute, then you'll see a wall of text scrolling by. Once that's done, you'll see a red progress bar across the bottom of your screen as FlashFire installs the new Android update. When this progress bar reaches 100%, your device will automatically reboot.
The first time your device reboots after applying an update will take longer than usual—perhaps even as long as 15 minutes. But when you get back up, your Nexus will be running the latest version of Android, and even better, FlashFire will have automatically re-rooted your device using Chainfire's new Systemless Root method. But if you opted to install Xposed or a custom kernel, you will have effectively shifted from a systemless root to a system root.
Considering how easy that was, is this how you'll be updating your rooted Nexus from now on? Let us know in the comment section below, or drop us a line on one of the following: