Android 7.1 is upon us – at least it is if you count the oddball mix-and-match of having an "official" version of 7.1 on Pixel phones and a "developer preview" for a few other Nexus devices. Now that the Pixels are out, source code has also been released for Android 7.1.0 on AOSP. It comes as little surprise that we don't have an official release of the 7.1.1 source code that went out to Nexus devices since they are still considered developer previews, but they're probably not terribly different. So now it's time to dig through for some interesting and unusual hints about what unusual changes have been made in this version that we didn't already know about.

Based on a post by Bill Yi in the Android Building Group, it sounds like this source drop is being treated like a typical release, not like a normal developer preview which generally limits itself to GPL-licensed projects. Judging by the presence of code related to new features like App Shortcuts (formerly Launcher Shortcuts), this appears to be true. That's definitely a good thing, as it means we don't have to wait several months for the most interesting bits and pieces to be revealed.

Reading the changelogs? There are a lot of questions and confusion surrounding changelogs, so here are a few reminders and tips that might clear some things up. To begin with, all changelogs are named with their starting and ending tags. That's because changelogs pick up where previous changelogs left off, but the names and numbers aren't necessarily sequential. For example, 6.0.1_r56 is based on r48, not on r55. Changelogs always build off of another changelog, sometimes even in the same month. Also remember that while most patches are only written once, they may be copied across multiple development branches running in parallel, so a single patch may appear in more than one changelog. Also remember that these changelogs only list changes uploaded to the Android Open Source Project. They do not include changes made to the closed source proprietary binaries used to build the final firmware for a device. Sometimes a new tag and build number are created for updates where only those binaries have been replaced, which usually results in a virtually empty changelog. Finally, changelogs for developer previews contain only a short list of changes. This is because Google does not post the full code for a new version of Android until the OS is final. Most of the code disclosed prior to a final OS release is usually for compliance with the GPL or similarly licensed projects, or belonging to projects Google itself chooses to make available in advance.



Two quick notes about the content of these changelogs. A few people have reported issues where tags aren't updating properly from the git repositories of some projects. The side effect is that those projects may not appear in the changelogs. I'm working to identify and resolve the issue, though it appears not to have had a significant impact. Updated versions will be posted when they are ready. Also, as is fairly typical of a first release of any new version, the first build is based on the preview release from the previous version (i.e. n-preview-1). This means there will be quite a few lines that also appeared in Android 7.0. (Sorry, not much I can do about that yet.)

If you've got some time to look around through the developer comments, the four builds below should have some fairly interesting things to dig up. Again, there are plenty of things to read into about app shortcuts, memory optimizations, and even emoji. Enjoy!

Android 7.1 Developer Preview:

Oct 24, 2016