The final release of Android 5.0 Lollipop has finally arrived for Nexus devices! If you're an owner of a stock Nexus device (such as the awesome Nexus 5 or useful Nexus 7), you can expect to receive an OTA (over the air) update within the coming weeks. However, Lollipop is a spectacular release with plenty of new goodies, so we don't blame you if you're a bit impatient.

Can't wait for the OTA update to arrive? We'll show you how to get Lollipop on your Nexus device right now via flashing.

Why Do You Have To Wait For The OTA?

If you're a relatively new owner of a Nexus device, you may be wondering why it'll take a couple of weeks for you to receive the OTA update when Google has already released the update. This is because Google's update strategy for Android differs from that of Apple for iOS. When Apple releases an iOS update, it's immediately available for all users -- they'll see the update and can grab it immediately.

nexus5

However, theoretically speaking, this can cause havoc in case there's a bug that suddenly appears that Apple wasn't aware of prior to releasing the update. With Apple's update strategy, a lot of devices would have the bug by the time Apple pulls the update off their servers to fix it. Google, on the other hand, releases the update very gradually in waves. Each wave includes a certain number of eligible devices, where the first wave is only ~1%. This way, those few users can install the update, and Google can see if everything went smoothly. If so, they'll release the update for the next (larger) wave. Eventually, everyone will be offered the update.

Who gets included in each wave is basically a big lottery, so some people will get the update as early as the same day Google initially releases the update, while others might have to wait two weeks before they receive the awaited notification. There's nothing wrong with waiting for the OTA update, as it's the safest choice and requires the least amount of effort. However, this requires patience.

Instead, we can use the factory images that Google releases on the same day to manually flash our devices with the update. This provides instant gratification, but it adds you to the ~1% who might experience unexpected bugs. You'll also need to flash your device if you have a custom recovery on it, as it won't be able to perform the OTA update even if you get the notification. Is the tradeoff worth it? For me it was, and it might be for you too. If so, keep reading!

Getting Lollipop

Before we begin, please note that this will wipe everything on your phone (think factory reset), so it's important that you have backed up all of your data. You have been warned!

First, you'll need to get Android's platform tools, which include the "adb" and "fastboot" tools. These will be needed in order to boot into the bootloader (akin to a computer's BIOS) rather than the Android system and to actually write the image onto your device ("flashing").

You can get these via the Android SDK. Be sure to follow Google's instructions for installation as each operating system has different installation instructions. Alternatively, Windows users can also just install this all-in-one installer. Be sure to say "Yes" for the system-wide question.

android-platform-tools

Next, download the factory image for your Nexus device from this page. Look for your specific device, and then download the "5.0" link. You'll now be downloading a .zip file that is several hundred megabytes large -- this is normal. Once the download completes, go ahead and unzip it to a location you'll remember later.

Flashing It Onto Your Device

android-adb-example

Now, plug in your device to your computer via the USB cable, and make sure that developer options have been enabled in the settings. If you haven't enabled this yet, go into the Settings app --> About --> Tap the Build Number several times until it says you're a developer. Then, open a command prompt/terminal and enter the following:

        adb reboot bootloader
    

Then, enter the new folder where you unzipped the platform tools (using the cd command in Windows; example:

        cd /my/folder/with/the/platform-tools
    

) and enter the following:

        fastboot oem unlock
    

This will unlock your device so that you can perform flashing on it. Go to your device, use the volume buttons to move up or down, and then the power button to choose what you selected. You'll need to accept the confirmation screen you see on your device, as it warns you that this step will wipe your device.

Next, Mac OS X and Linux will need to type the following command:

        ./flash-all.sh
    

Windows users just double-click on the flash-all.bat file.

This will run a bunch of other commands that will flash various portions of the update. If you're interested in the specific commands that it runs, you can open the file in a text editor, but we don't want to learn -- we just want Lollipop on our device already!

This will take a little while (I think mine took an entire two minutes to complete, so give it a little bit of time), but it will restart into Lollipop once it completes. Congratulations, you now have Android Lollipop!

Other Notes

At some point after you're running Android Lollipop, but sure to re-lock your bootloader. Run the adb reboot bootloader command to get back to the same screen as earlier, and then run fastboot oem lock. This will ensure that no rogue apps can tamper with your system, recovery, bootloader, etc. Of course, if you plan on flashing custom recoveries, custom kernels, or  custom ROMs, then you'll want to keep the bootloader unlocked, but users who aren't interested in doing so will want to re-lock the bootloader.

If you're running Mac OS X or Linux, be sure to replace the first part of each command with the path of where the tool is actually located. So, if the adb tool is located in /this/folder/here/adb, then you'll need to run /this/folder/here/adb reboot bootloader. If you want to make your life a bit easier, copy the contents of the unzipped factory image folder into the platform-tools folder in the sdk, so that the tools you need and the files you need to flash are all in the same folder. Then,

        adb
    

and

        fastboot
    

can just be replaced with

        ./adb
    

and

        ./fastboot
    

, as

        ./
    

refers to a file in the current folder.

How Is Lollipop Working For You?

nexus5-lollipop

Congratulations, you're now running Android 5.0 Lollipop on your Nexus device! If you're having any issues with this process (especially people who have little experience with the command line/terminal), leave questions in the comments and we'll help you out!

What are you favorite new features of Lollipop? Anything changed that's really bothering you? Let us know about that too in the comments.