How to get Android P on your Pixel (and how to roll back to Oreo)
Get the Android P Developer Preview on your phone right away.
Another Android Developer preview is here, and this time we'll be getting a look at what Android P has to offer. Eventually, anyway, because the first few versions probably won't have much in the way of user-facing changes. That's because the Android Developer preview was designed for developers who need to start working on any changes to their software right away. But even if you're not a developer, you can get it on your Pixel pretty easily.
Getting it on your phone is the same as manually flashing any other Android factory image so that means there's a little more involved than tapping a button. but don't worry, it's not too hard. Here's what you need to know.
Before we go through the steps of sideloading Android updates, it is strongly recommended that you have previous knowledge of working with the Android SDK (software development kit) and the Terminal (OS X or Linux) or Command Prompt (Windows), as it is possible to harm your device if something were to go wrong in the following process.
If you need to download the Android SDK you can grab it from the Android Development website and follow their instructions on how to install it correctly. For the following process, all you will need is the adb and fastboot files which are located in the Platform Tools folder, so make sure to read the description at the dev site and grab the right download.
Additionally, all the following commands are written as they would be in Terminal on a Linux or OS X platform. If you are following this guide and using a Windows machine, you will not need to use the "./" seen in the guide. Just type the rest of the command line by line in the order they are listed and you'll be good.
Enable developer settings and USB debugging
- Go to your Settings and scroll down to About Phone/Tablet.
- Tap on the Build number seven times until the dialog box says you are now a developer.
- Go back to the Settings menu and you should find a new option called Developer options. Tap into the Developer options.
- Make sure that the developer options are turned on and that USB debugging is checked on.
- Plug your device into your computer and tap "OK" on the dialog box asking you to Allow USB debugging while connected to the computer. You can also select to always allow access on that computer.
If done correctly, this will be everything you will need to do on your phone or tablet for the moment.
Unlocking your bootloader
Pixel phones bought from Google directly have a bootloader you can unlock. If you want to manually flash software, you'll need to do this.
To do this you must first boot into your bootloader. You can either manually turn off your phone or tablet and hold down the power button and the volume down button to enter your device's Bootloader Menu or you can enter the following commands into your terminal or command prompt.
Run the following command to make sure your device is properly connected to your computer. If it returns a string of characters it means that you are all set to start updating your device.
Now to enter into the Bootloader menu just run the following command.
./adb reboot bootloader
At the bottom of the screen, there will be several things listed including the lock state of the device. This should say locked unless you have unlocked your bootloader in the past and never went back and locked it again.
To unlock your bootloader, which is required only when flashing a stock firmware image (not sideloading an update), you must enter the following commands. Remember that when unlocking your phone's bootloader it will factory reset your device, so you will lose everything stored on it. If you have not yet backed up anything important on your device you can hit the power button while Start is highlighted in the Bootloader menu and this will boot you back into your device like normal. Now back to unlocking your bootloader.
./fastboot flashing unlock
A dialog will appear on the device asking if you are sure about unlocking. Again this will factory reset your device, so if you want to back out of the process you just need to select no with the power button. If you are ready to unlock your bootloader you press the volume up button and then the power button to confirm that you wish to unlock your bootloader.
It is recommended to reboot the bootloader just to give itself a check to make sure everything is working correctly before moving on to the next step.
Flashing the stock firmware image
Now that your bootloader is unlocked, it's time to flash the new firmware. To find the images for the developer preview, head on over to the Developer Preview download page, find your device, and download the latest factory image available. It is easiest to then uncompress the file in the Platform Tools folder you downloaded (where the adb and fastboot files are) so that you don't have to type the path to the different files when flashing the firmware. (Or if you know that you can drag a file into a terminal window to copy the path, just do that.)
To begin, make sure you are still in the bootloader menu on your device and double check that your bootloader is in fact unlocked.
First, make sure that your computer is communicating correctly with your phone or tablet. As long as your device's serial number comes back as a connected device you are ready to begin updating your device.
Now it is time to flash the updated bootloader with the following command.
./fastboot flash bootloader [bootloader file].img
You will not see anything on the screen of your device but there should be a dialog in your terminal or command prompt. When it is done flashing the bootloader you should reboot back into the bootloader to make sure everything is still working correctly.
Next, you flash the updated radios. This step is only necessary if you are updating the firmware of a phone or tablet that has cellular radios built into it.
./fastboot flash radio [radio file].img
Finally, it's time to flash the actual system image to your phone or tablet.
Warning: The following line of code will wipe your device. Normally, you can remove the "-w" from the command but when moving to a beta version of Android it's not guaranteed to work.
./fastboot -w update [image file].zip
When this is done, your phone will restart itself and boot up normally. As this process clears all data from your device, it will take slightly longer for your device to boot up for the first time. Once you have been greeted with the device setup walkthrough process, you know you have successfully flashed a new version of the firmware.
If you do not want to enter the commands manually there are scripts included in the compressed folder containing the system image that will do most but not all of the heavy lifting for you. The flash-all script files will automate the flashing of the bootloader, radios (if needed), and the system image. The problem with this process is that you must first make sure that your phone is in the bootloader menu and its bootloader must be unlocked before starting the script. Of course, if these are not already done the script will fail to run and nothing will happen.
Going back to Oreo
When you've had your fun using the Android P Developer Preview, and you've figured out that it's not stable enough to use as a daily driver, it's time to go back to Oreo. Thankfully the process is simple, and you just learned how to do it! Simply go back through the same steps above, except for two changes: you don't need to unlock your bootloader again, and you'll want to download the Oreo factory image from Google instead. Get back to stock, and maybe you'll check out a future Developer Preview build.
This sounds worse than it is, so don't worry. But we also understand it can seem like an impossibly difficult thing the first time you're trying it. That's OK, we all felt the same way when we first tried it, too. Just take the time to read through everything before you start clicking and tapping things and you'll do just fine.
If you have any trouble along the way, be sure to hop into the forums and ask for help!