We've been keeping close tabs on the new features and adjustments made with each new developer preview of Android N, but there are obviously a boatload of other changes under the hood, many of them aren't obvious to the naked eye. That's where it can help to look deeper into the source code. It took a couple of weeks for the changes to be published to AOSP, but now that they are available, we've got a changelog ready for examination.
June's security updates are now available for all of the currently supported Nexus (and Pixel C) devices. As usual, the code changes to go along with this month's new firmware have been uploaded to AOSP and we've got some changelogs to look through. While it's a bit late, Google also uploaded the code changes for N Developer Preview 3. As usual, this isn't a complete release of N, but mostly just the code for projects licensed under the GPL.
Google has already posted the security bulletin, which describes the lion's share of changes. Most of the issues resolved in this version have to do with vulnerabilities in Qualcomm drivers.
Chainfire's FlashFire is a very handy tool for anyone who likes to flash their phone. Provided the device is rooted, it enables the flashing of OTA files, ZIPs, and full firmware packages, all without needing a custom recovery. Previously, the app had been available in Google Play's beta program, but as of version 0.50, it is now open to all.
With last month's release of the Android N Preview, the Tools team launched a preview release of Android Studio 2.1. Not only did the new version add support for the N Preview SDK, but it also brought a few important important and welcomed additions, including adoption and support for many of the language features in Java 8, a semi-official switch to the Jack compiler, an updated New Project wizard, and further improvements to the new and faster Android Emulator. As of today, Android Studio 2.1 has been promoted to Stable and is available to all developers.
The biggest advantage of updating and switching to the Jack compiler, aside from playing with new Android N APIs like Launcher Shortcuts, is probably the addition of Lambda Expressions.
The second round of N Preview factory images and OTAs are out and most people are updated. The team at Android Police HQ is still digging around to find all of the new additions, but in the meantime, there are a number of changes buried right in the source code. Google posted some of the source code for 'N' to the Android Open Source Project, and we've built a changelog from that commit history.
During the preview stage of a new OS version, Google usually limits the code it releases to just GPL-licensed projects. Unfortunately, that excludes most of the parts of Android where the big new features and UI changes would have happened, but don't count out those changes as boring, they can still contain quite a few interesting details if you look a bit closer.
Google's approach to releasing preview firmware for upcoming versions of Android is evolving into a pretty cool system that allows developers to simply sign up a device and wait for the OTAs to come rolling in. However, no product launch is perfect, and this one is causing some real problems for some users. Complaints started rolling into the Nexus Help Form and AOSP Issue Tracker about devices that were left unable to boot after attempting to install the OTA. This problem is greatly compounded by the fact that many users are not able to unlock their bootloaders, which means they can't fix the issue with a factory image.
We've received quite a few emails in the last 24 hours excitedly pointing to the following tag in the Nexus 5's repository on the Android project as evidence Google plans to bring Android N to the phone. Specifically, there is a tag in the Nexus 5 repo called "android-n-preview-1" - which many are taking to be a signal that Google is actively developing Android N for the Nexus 5.
Unfortunately, such interpretations are not supported by the existence of this tag. As a result of the tools Google uses as part of building Android, pretty much any device that is currently supported (note that current support does not mean future support) by Google will generate tags for new versions of the operating system regardless of whether or not they'll actually get them.
Yesterday you read about (and maybe understood) the new Java 8 language features coming with the Android N Developer Preview. One of the prerequisites of using these improvements is the latest version of Android Studio. The IDE was briefly mentioned in that article, but we thought it deserved a little more attention for both the improvements and some of the caveats to updating right now.
The Android Studio 2.1 Preview 1 is based on the current 2.0 version in the beta channel. The changelog is basically a roadmap to supporting the new features promised with Android N: support for Java 8, improved support for the Jack compiler, and an updated New Project wizard to generate projects targeting the Android N Preview.
Are you tired of Android N already, or are you itching to get even deeper into the preview release? If you're leaning towards the latter, you may want to check out the changelog generated from a fresh code push to the Android Open Source Project (AOSP). Don't get too excited, this isn't a complete platform release (confirmed by Bill Yi), so it doesn't include things like the changes to the notification shade. Rather, the changes uploaded yesterday are mostly for the GPL projects used in Android, and there are still plenty of interesting bites of knowledge to take away from those, as well.
Developers have plenty of great new APIs and features coming with Android N, but perhaps the best thing to look forward to is at the language level itself. Starting with the preview SDK due out today, some of the language features of Java 8 will be supported by the Jack compiler. This will bring things like support for lambdas, default and static methods, streams, and functional interfaces. Google is also declaring that the Jack compiler will also be able to remain more up-to-date with Java language features in the future.
One of the top requests from developers over the last few years has been for a more rapid uptake of new language features for Java, many of which would allow for more efficient use of development time and ultimately easier to read code.