Posted by Christopher Katsaros, Developer Marketing, Android LinkedIn is the world's largest social network
for professionals. LinkedIn has 10
apps on Google Play, including the flagship LinkedIn
app, which provides all of the same features users find on the web, so users
can do things like browse and send messages to their professional network with
an improved user experience.
For LinkedIn, and other teams with a large number of developers adding code to a
project, making sure that everyone pays attention to areas that affect
performance is vital for the quality of their app. That's why the the LinkedIn
mobile team uses Android Studio to
build high quality Android apps.
Watch Pradeepta Dash, Engineering Manager for Infrastructure at LinkedIn, as
well as Drew Hannay, Tech Lead for the Android Infrastructure team, talk about
how Android Studio helps everyone on their team stay focused on these topics
while getting new engineers quickly up and running:
The top Android developers use Android Studio to build powerful, successful apps
for Google Play; you can learn more about the official IDE for Android app
development, and get
started for yourself.
Posted by Christopher Katsaros, Developer Marketing, Android LinkedIn is the world's largest social network
for professionals. LinkedIn has 10
apps on Google Play, including the flagship LinkedIn
app, which provides all of the same features users find on the web, so users
can do things like browse and send messages to their professional network with
an improved user experience.
For LinkedIn, and other teams with a large number of developers adding code to a
project, making sure that everyone pays attention to areas that affect
performance is vital for the quality of their app. That's why the the LinkedIn
mobile team uses Android Studio to
build high quality Android apps.
Watch Pradeepta Dash, Engineering Manager for Infrastructure at LinkedIn, as
well as Drew Hannay, Tech Lead for the Android Infrastructure team, talk about
how Android Studio helps everyone on their team stay focused on these topics
while getting new engineers quickly up and running:
The top Android developers use Android Studio to build powerful, successful apps
for Google Play; you can learn more about the official IDE for Android app
development, and get
started for yourself.
Android Studio 2.3 is available to download today. The
focus for this release is quality improvements across the IDE. We are grateful
for all your feedback so far. We are committed to continuing to invest in making
Android Studio fast & seamless for the millions of Android app developers across
the world.
We are most excited about the quality improvements in Android Studio 2.3 but you
will find a small set of new features in this release that integrate into each
phase of your development flow. When designing your app, take advantage of the
updated WebP
support for your app images plus check out the updated ConstraintLayout library support and widget palette in the Layout
Editor. As you are developing, Android Studio has a new App
Link Assistant which helps you build and have a consolidated view of your
URIs in your app. While building and deploying your app, use the updated run
buttons for a more intuitive and reliable Instant
Run experience. Lastly, while testing your app with the Android Emulator,
you now have proper copy & paste text support.
What's new in Android Studio 2.3
For more detail about the features we added on top of the quality improvements
Android Studio 2.3, check out the list of the new features below:
Build
Instant Run Improvements and UI Changes: As a part of our
focus on quality, we have made some significant changes to Instant Run in
Android Studio 2.3 to make the feature more reliable. The Run action will now always cause an application
restart to reflect changes in your code that may require a restart, and the new Apply Changes action will attempt to swap the code while your app keeps running. The underlying implementation has changed significantly to improve
on reliability, and we have also eliminated the startup lag for Instant Run
enabled apps. Learn
more.
New Instant Run Button Actions
Build Cache: Introduced but disabled by default in Android Studio 2.2, Build
Cache is an underlying build optimization for faster builds in Android Studio.
By caching exploded AARs and pre-dexed external libraries, the new build cached
leads to faster clean builds. This is a user-wide build cache that is now turned on
by default with Android Studio 2.3. Learn
more.
Design
Chains and Ratios support in Constraint Layout: Android
Studio 2.3 includes the stable release of ConstraintLayoutWith this release of ConstraintLayout, you can now chain two
or more Android views bi-directionally together to form a group on one
dimension. This is helpful when you want when you want to place two views close
together but want to spread them across empty space. Learn more.
Constraint Layout Chains
ConstraintLayout also supports ratios, which is helpful when
you want to maintain the aspect ratio of widget as the containing layout expands
and contracts. Learn
more about ratios. Additionally, both Chains and Ratios in
ConstraintLayout can support programmatic creating with ConstraintSet
APIs.
Constraint Layout Ratios
Layout Editor Palette: The updated widget palette in the
Layout Editor allows you to search, sort and filter to find widgets for your
layouts, plus gives you a preview of the widget before dragging on to the design
surface. Learn
more.
Layout Editor Widget Palette
Layout Favorites: You can now save your favorite
attributes per widget in the updated Layout Editor properties panel. Simply star
an attribute in the advanced panel and it will appear under the Favorites
section. Learn
more.
Favorites Attributes on Layout Editor Properties Panel
WebP Support: To help you save space in your APK, Android
Studio can now generate WebP images from PNG assets in your project. The WebP
lossless format is up to 25%
smaller than a PNG. With
Android Studio 2.3, you have a new wizard that converts PNG to lossless WebP and
also allows you to inspect lossy WebP encoding as well. Right-click on any non-launcher
PNG file to convert to WebP. And if you need to edit the image, you can also
right-click on any WebP file in your project to convert back to PNG. Learn
more.
WebP Image Conversion Wizard
Material Icon Wizard Update: The updated vector asset
wizard supports search and filtering, plus it includes labels for each icon
asset. Learn
more.
Vector Asset Wizard
Develop
Lint Baseline: With Android Studio 2.3, you can set
unresolved lint warnings as a baseline in your project. From that point forward,
Lint will report only new issues. This is helpful if you have many legacy lint
issues in your app, but just want to focus on fixing new issues. Learn more about Lint baseline and the new Lint checks & annotations added in this
release.
Lint Baseline Support
App Links Assistant: Supporting Android App Links in your
app is now easier with Android Studio. The new App Links Assistant allows you to
easily create new intent filters for your URLs, declare your app's website
association through a Digital Asset Links file, and test your Android App Links
support. To access the App Link Assistant go to the following menu location:
Tools → App Link Assistant. Learn
more.
App Links Assistant
Template Updates: By default, all templates in Android
Studio 2.3 which use to contain RelativeLayout, now use
ConstraintLayout. Learn more about templates
and Constraint
Layout. We have also added a new Bottom Navigation Activity template, which
implements the Bottom Navigation Material Design guideline.
New Project Wizard Templates
IntelliJ Platform Update: Android Studio 2.3 includes the
IntelliJ 2016.2 release, which has enhancements such as an updated inspection
window and a notifications system. Learn
more.
Test
Android Emulator Copy & Paste: Back by popular demand, we
added back the Copy & Paste feature to the latest Emulator (v25.3.1). We have a
shared clipboard between the Android Emulator and host operating system, which
will allow you to copy text between both environments. Copy & Paste works with x86 Google API Emulator system images API Level 19 (Android 4.4 - Kitkat) and
higher.
Copy & Paste support in Android Emulator
Android Emulator Command Line Tools: Starting with Android
SDK Tools 25.3, we have moved the emulator from the SDK Tools
folder into a separate emulator directory, and also deprecated and replaced the "android
avd" command with a standalone avdmanagercommand. The previous command line parameters for emulator
and "android avd" will work with the updated tools. We have also added
location redirects for the emulator command. However, if you create
Android Virtual Devices (AVDs) directly through the command line you should
update any corresponding scripts. If you are using the Android Emulator through
Android Studio 2.3, these change will not impact your workflow. Learn
more.
To recap, Android Studio 2.3 includes these new features and more:
Learn more about Android Studio 2.3 by reviewing the release
notes.
Getting Started
Download
If you are using a previous version of Android Studio, you can check for updates
on the Stable channel from the navigation menu (Help → Check for Update
[Windows/Linux] , Android Studio → Check for Updates [OS X]). You can also
download Android Studio 2.3 from the official download page. To
take advantage of all the new features and improvements in Android Studio, you
should also update to the Android Gradle plugin version to 2.3.0 in your current
app project.
We appreciate any feedback on things you like, issues or features you would like
to see. Connect with us -- the Android Studio development team -- on our Google+ page or on Twitter.
Android Studio 2.2 launched recently with many
new and improved features. Some of the changes are easy to miss because they
happened under the hood in the Android Gradle plugin, such as the newly
rewritten integrated APK packaging and signing step.
APK Signature Scheme v2
With the introduction of the new APK Signature
Scheme v2 in Android 7.0 Nougat, we decided to rewrite how assembling APKs
works in the Android Gradle plugin. You can read all about the low-level
technical details of v2 signatures in the documentation,
but here's a quick tl;dr summary of the info you need as an Android app
developer:
The cryptographic signature of the APK that is used to verify its integrity
is now located immediately before the ZIP Central Directory.
The signature is computed and verified over the binary contents of the whole
APK file, as opposed to decompressed file contents of each file in the archive
in v1.
An APK can be signed by both v1 and v2 signatures at the same time, so it
remains backwards compatible with previous Android releases.
Why introduce this change to how Android verifies APKs? Firstly, for enhanced
security and extensibility of this new signing format, and secondly for
performance - the new signatures take significantly less time to verify on the
device (no need for costly decompression), resulting in faster app installation
times.
The consequence of this new signing scheme, however, is that there are new
constraints on the APK creation process. Since only uncompressed file contents
were verified in v1, that allowed for quite a lot of modifications to be made
after APK signing - files could be moved around or even recompressed. In fact,
the zipalign tool which was part of the build process did exactly
that - it was used to align ZIP entries on correct byte boundaries for improved
runtime performance.
Because v2 signatures verify all bytes in the archive and not individual ZIP
entries, running zipalign is no longer possible after
signing. That's why compression, aligning and signing now happens in a
single, integrated step of the build process.
If you have any custom tasks in your build process that involve tampering with
or post-processing the APK file in any way, please make sure you disable them or
you risk invalidating the v2 signature and thus making your APKs incompatible
with Android 7.0 and above.
Should you choose to do signing and aligning manually (such as from the command
line), we offer a new tool in the Android SDK, called apksigner,
that provides both v1 and v2 APK signing and verification. Note that you need to
run zipalignbefore running apksigner
if you are using v2 signatures. Also remember the jarsigner tool
from the JDK is not compatible with Android v2 signatures, so you can't use it
to re-sign your APKs if you want to retain the v2 signature.
In case you want to disable adding v1 or v2 signatures when building with the
Android Gradle plugin, you can add these lines to your signingConfig
section in build.gradle:
v1SigningEnabled false
v2SigningEnabled false
Note: both signing schemes are enabled by default in Android Gradle plugin 2.2.
Release builds for smaller APKs
We took this opportunity when rewriting the packager to make some optimizations
to the size of release APKs, resulting in faster downloads, smaller
delta updates on the Play Store, and less wasted space on the device. Here
are some of the changes we made:
Files in the archive are now sorted to minimize differences between APK
builds.
All file timestamps and metadata are zeroed out.
Level 6 and level 9 compression is checked for all files in parallel and the
optimal one is used, i.e. if L9 provides little benefit in terms of size, then
L6 may be chosen for better performance
Native libraries are stored uncompressed and page aligned in the APK. This
brings support for the android:extractNativeLibs="false" option
from Android 6.0 Marshmallow and lets applications use less space on the device
as well as generate smaller updates on the Play Store
Zopfli compression is not used to better support Play Store update
algorithms. It is not recommended to recompress your APKs with Zopfli.
Pre-optimizing individual resources such as PNG files in your projects is still
fine and recommended.
These changes help make your releases as small as possible so that users can
download and update your app even on a slower connection or on less capable
devices. But what about debug builds?
Debug builds for installation speed
When developing apps you want to keep the iteration cycle fast - change code,
build, and deploy on a connected device or emulator. Since Android Studio 2.0
we've been working to make all the steps as fast as possible. With Instant Run
we're now able to update only the changed code and resources during runtime,
while the new Emulator brings multi-processor support and faster ADB speeds for
quicker APK transfer and installation. Build improvements can cut that time even
further and in Android Studio 2.2 we're introducing incremental packaging and
parallel compression for debug builds. Together with other features like
selectively packaging resources for the target device density and ABI this will
make your development even faster.
A word of caution: the APK files created for Instant Run or by invoking a debug
build are not meant for distribution on the Play Store! They contain additional
instrumentation code for Instant Run and are missing resources for device
configurations other than the one that was connected when you started the build.
Make sure you only distribute release versions of the APK which you can create
using the Android Studio Generate
Signed APK command or the assembleRelease Gradle task.
Android Studio 2.2 is available to download today.
Previewed at Google I/O 2016, Android Studio 2.2 is the latest release of our
IDE used by millions of Android developers around the world.
Packed with enhancements, this release has three major themes: speed, smarts,
and Android platform support. Develop faster with features such as the new
Layout Editor, which makes creating an app user interface quick and intuitive.
Develop smarter with our new APK analyzer, enhanced Layout Inspector, expanded
code analysis, IntelliJ’s 2016.1.3 features and much more. Lastly, as the
official IDE for Android app development, Android Studio 2.2 includes support
for all the latest developer features in Android 7.0 Nougat, like code
completion to help you add Android platform features like Multi-Window
support, Quick
Settings API, or the redesigned Notifications,
and of course, the built-in Android
Emulator to test them all out.
In this release, we evolved the Android Frameworks and the IDE together to
create the Constraint Layout. This powerful new layout manager helps you design
large and complex layouts in a flat and streamlined hierarchy. The
ConstraintLayout integrates into your app like a standard Android
support library, and was built in parallel with the new Layout Editor.
Android Studio 2.2 includes 20+ new features across every major phase of the
development process: design, develop, build, & test. From designing UIs with
the new ConstraintLayout, to developing C++ code with the Android
NDK, to building with the latest Jack compliers, to creating Espresso test cases
for your app, Android Studio 2.2 is the update you do not want to miss. Here’s
more detail on some of the top highlights:
Design
Layout Editor: Creating Android app user interfaces is now
easier with the new user interface designer. Quickly construct the structure of
your app UI with the new blueprint mode and adjust the visual attributes of each
widget with new properties panel. Learn
more.
Layout Editor
Constraint Layout: This new layout is a flexible layout
manager for your app that allows you to create dynamic user interfaces without
nesting multiple layouts. It is backwards compatible all the way back to Android
API level 9 (Gingerbread). ConstraintLayout works best with the new Layout
Editor in Android Studio 2.2. Learn
more.
ConstraintLayout
Develop
Improved C++ Support: You can now use CMake
or ndk-build to compile your C++ projects from Gradle. Migrating projects
from CMake build systems to Android Studio is now seamless. You will also find
C++ support in the new project wizard in Android Studio, plus a number of bug
fixes to the C++ edit and debug experience. Learn
more.
C++ Code Editing & CMake Support
Samples Browser: Referencing Android sample code
is now even easier with Android Studio 2.2. Within the code editor window, find
occurrences of your app code in Google Android sample code to help jump start
your app development.
Sample Code Menu
Build
Instant Run Improvements: Introduced in Android Studio 2.0,
Instant
Run is our major, long-term investment to make Android development as fast
and lightweight. Since launch, it has significantly improved the edit, build,
run iteration cycles for many developers. In this release, we have made many
stability and reliability improvements to Instant Run. If you have previously
disabled Instant Run, we encourage you to re-enable it and let us know if you
come across further issues. (Settings → Build, Execution, Deployment → Instant
Run [Windows/Linux] , Preferences → Build, Execution, Deployment → Instant Run
[OS X]). For details on the fixes that we have made, see the Android Studio
2.2 release notes.
Enable Instant Run
APK Analyzer: Easily inspect the contents of your APKs to
understand the size contribution of each component. This feature can be helpful
when debugging multi-dex
issues. Plus, with the APK Analyzer you can compare two versions of an APK. Learn
more.
APK Analyzer
Build cache (Experimental): We are continuing our
investments to improve build speeds with the introduction of a new experimental
build cache that will help reduce both full and incremental build times. Just
add android.enableBuildCache=true to your
gradle.properties file. Learn more.
Build Cache Setting
Test
Virtual Sensors in the Android Emulator: The Android
Emulator now includes a new set of virtual sensors controls. With the new UI
controls, you can now test Android
Sensors such as Accelerometer, Ambient Temperature, Magnetometer and more.
Learn
more.
Android Emulator Virtual Sensors
Espresso Test Recorder (Beta): The Espresso Test Recorder
lets you easily create UI tests by recording interactions with your app; it then
outputs the UI
test code for you. You record your interactions with a device and add
assertions to verify UI elements in particular snapshots of your app. Espresso
Test Recorder then takes the saved recording and automatically generates a
corresponding UI test. You can run the test locally, on your continuous
integration server, or using Firebase
Test Lab for Android. Learn
more.
Espresso Test Recorder
GPU Debugger (Beta): The GPU Debugger is now in Beta. You
can now capture a stream of OpenGL ES commands on your Android device and then
replay it from inside Android Studio for analysis. You can also fully inspect
the GPU state of any given OpenGL ES command to better understand and debug your
graphical output. Lean
more.
GPU Debugger
To recap, Android Studio 2.2 includes these major features and more:
If you are using a previous version of Android Studio, you can check for updates
on the Stable channel from the navigation menu (Help → Check for Update
[Windows/Linux] , Android Studio → Check for Updates [OS X]). You can also
download Android Studio 2.2 from the official download page. To
take advantage of all the new features and improvements in Android Studio, you
should also update to the Android Gradle plugin version to 2.2.0 in your current
app project.
Next Release
We would like to thank all of you in the Android Developer community for your
work on this release. We are grateful for your contributions, your ongoing
feedback which inspired the new features in this release, and your highly active
use on canary and beta builds filing bugs. We all wanted to make Android Studio
2.2 our best release yet, with many stability and performance fixes in addition
to the many new features. For our next release, look for even more; we want to
work hard to address feedback and keep driving up quality and stability on
existing features to make you productive.
We appreciate any feedback on things you like, issues or features you would like
to see. Connect with us -- the Android Studio development team -- on our Google+ page or on Twitter.
This week at Google I/O 2016 we launched Android Studio 2.2 Preview. This release is a large update that builds upon our focus to create a fast and productive integrated development environment (IDE) for Android. Developed in sync with the Android platform, Android Studio allows you to develop with the latest Android APIs and features. Since launching Android Studio at Google I/O just 3 years ago, we received great feedback from on you on what features you want the most. Today 92% of the top 125 apps & game developers on Google Play, plus millions of developer worldwide, use Android Studio. We want to continue to build features that will continue to make you more efficient when developing for Android and more productive.
Android Studio 2.2 Preview includes a portfolio of new features along the spectrum of developments, ranging from designing user interfaces to building and debugging your app in new ways. This preview includes the following new categories of features:
Design
Layout Editor: A new user interface designer that helps you visually design the layouts in your app. Features like blueprint mode and the new properties panel allow you to quickly edit layouts and widgets faster.
Constraint Layout: A new powerful and flexible Android layout that allows you to express complex UIs without nesting multiple layouts.
Layout Inspector: Debug a snapshot of your app layout running on the Android Emulator or device. Inspect the view hierarchy and corresponding attributes.
Develop
Firebase Plugin: Explore and integrate the suite of services offered by Firebase inside of Android Studio. Adding services like Analytics, Authentication, Notifications, and AdMob are just a few clicks away.
Enhanced Code Analysis: Android Studio checks the quality of your Android app code. In addition to 260 Android lint and code inspections, this release includes new code quality checks for Java 8 language usage and a new inspection infrastructure for more cross-file analysis.
Samples Browser: Referencing Android sample code is now even easier. Within the code editor window, find occurrences of your app code snippets in Google Android sample code to help jump start your app development.
Improved C++ Support: Android Studio 2.2 improves C++ development with the ability to edit, build, and debug pre-existing Android projects that use ndk-build or CMake rather than Gradle. Additionally, the existing lldb C++ debugger is now even better with project type auto-detection and a Java language aware C++ mode that lets you use a single debugger process to inspect both Java language and C++ runtimes.
IntelliJ 2016.1: Android Studio 2.2 includes all the latest updates from the underlying JetBrains product platforms IntelliJ.
Build
Jack Compiler Improvements: For those using the new Jack compiler, Android Studio 2.2 adds support for annotation processing, as well as incremental builds for reduced build times.
Merged Manifest Viewer: Diagnose how your AndroidManifest.xml merges with your app dependences across your project build variants.
Test
Espresso Test Recorder: Record Espresso UI tests simply by using your app as a normal user. As you click through your app UI, reusable and editable test code is then generated for you. You can run the generated tests locally, in your Continuous Integration environment, or in Firebase Test lab.
APK Analyzer: Drill into your APK to help you reduce your APK size, debug 64K method limit issues, view contents of Dex files and more.
Google I/O ‘16: What’s New in Android Development Tools
Deeper Dive into the New Features
Design
Layout Editor: Android Studio 2.2 features a new user interface designer. There are many enhancements but some of the highlights include:
Drag-and-drop widgets from the palette to the design surface or the component tree view of your app.
Design surface has a blueprint mode to inspect the spacing and arrangement of your layout.
Properties panel now shows a curated set of properties for quick widget edits with a full sheet of advanced properties one click away.
UI builder can edit menu and system preference files.
The new Layout Editor in Android Studio 2.2 Preview
Edit Menus in the new Layout Editor
Constraint Layout: This new layout is a flexible layout manager for your app that allows you to create dynamic user interfaces without nesting multiple layouts. It is distributed as a support library that is tightly coupled with Android Studio and backwards compatible to API Level 9.
At first glance, Constraint Layout is similar to RelativeLayout. However, the Constraint Layout was designed to be used in Studio and it can efficiently express your app design so that you rely on fewer layouts like LinearLayout, FrameLayout, TableLayout, or GridLayout. Lastly, with the built-in automatic constraints inference engine. You can freely design your UI to your liking and let Android Studio do the hard work.
To help you get started, the built-in templates in the New Project Wizard in Android Studio 2.2 Preview now generate a Constraint Layout. Alternately, you can right click on any layout in the new Layout Editor and select the Convert to ConstraintLayout option.
This is an early preview of the UI designer and Constraint Layout, and we will rapidly add enchantments in upcoming releases. Learn more on the Android Studio tools site.
Constraint Layout
Start Layout Inspector
Layout Inspector: For new and existing layouts, many times you may want to debug your app UI to determine if your layout is rendering as expected. With the new Layout Inspector, you can drill into the view hierarchy of your app and analyze the attributes of each component of UI on the screen.
To use the tool, just click on Layout Inspector Icon in the Android Monitor Window, and then Android Studio creates a snapshot of the current view hierarchy of your app for you to inspect.
Layout Inspector
Develop
Firebase Plugin:Firebase is the new suite of developers services that can help you develop high-quality apps, grow your user base, and earn more money. Inside of Android Studio, you can add Firebase to a new or existing Android app with the new Assistant window. To access the Firebase features click on the Tools menu and then select Firebase. You will want to first setup the brand new Firebase Analytics as the foundation as you explore other Firebase services like Firebase Cloud Messaging or Firease Crash Reporting to add your application. Learn more about the Firebase integration inside Android Studio here.
Firebase Plugin for Android Studio
Code Sample Browser: In addition to importing Android Samples, the Code Sample Browser is a menu option inside Android Studio 2.2 Preview that allows you to find high-quality, Google-provided Android code samples based on the currently highlighted symbol in your project. To use the feature, highlight a Variables, Types and Methods in your code then Right Click to show a context menu for Find Sample Code. The results are displayed in a bottom output box.
Code Sample Browser
Build
CMake and NDK-Build: For those of you using the Android NDK, Android Studio now supports building CMake and NDK-Build Android app projects by pointing Gradle at your existing build files. Once you’ve added your cmake or ndk-build project to Gradle, Android Studio will automatically open your relevant Android code files for editing and debugging in Studio.
For CMake users, just add the path to your CMList.txt file in the externalNativeBuild section of your Gradle file:
CMake Build in Android Studio
For NDK-Build Users, just add the path to your *.mk file in the section of your Gradle file:
NDK-Build in Android Studio
Improved Jack Tools: The new Jack Toolchain compiles your Java language source into Android dex bytecode. The Jack compiler allows some Java 8 language features, like lambdas, to be used on all versions of Android. This release adds incremental build and full support for annotation processing, so you can explore using Java 8 language features in your existing projects.
To use incremental build with Jack add the following to your build.gradle file:
Enable Jack Incremental Compile Option
Jack will automatically apply annotations processors in your classpath. To use an annotation processor at compile-time without bundling it in your apk, use the new annotationProcessor dependency scope:
Enable Jack Annotation Processing
Merged Manifest Viewer: Figuring out how your AndroidManifest merges with your project dependencies based on build types, flavors and variants is now easier with Android Studio. Navigate to your AndroidManifest.xml and click on the new Merged Manifest bottom tab. Explore how each node of your AndroidManifest resolves with various project dependencies.
Merged Manifest Viewer
Test
Espresso Test Recorder: Sometimes writing UI tests can be tedious. With the Record Espresso UI tests feature, creating tests is now as easy as just using your app. Android Studio will capture all your UI interactions and convert them into a fully reusable Espresso Test that you can run locally or even on Firebase Test lab. To use the recorder, go to the Run menu and select Record Espresso Test.
Espresso Test Recorder
APK Analyzer: The new APK Analyzer helps you understand the contents and the sizes of different components in your APK. You can also use it to avoid 64K referenced method limit issues with your Dex files, diagnose ProGuard configuration issues, view merged AndroidManifest.xml file, and inspect the compiled resources file (resources.arsc). This can help you reduce your APK size and ensure your APK contains exactly the things you expect.
The APK Analyzer shows you both the raw file size as well as the download size of various components in your APK. The download size is the estimated size users need to download when the APK is served from Google Play. This information should help you prioritize where to focus in your size reduction efforts.
To use this new feature, click on the Build menu and select Analyze APK… Then, select any APK that you want to analyze.
APK Analyzer
Java-aware C++ Debugger: When debugging C++ code on targets running N and above, you can now use a single, Java language aware lldb instance. This debugger continues to support great lldb features like fast steps and memory watchpoints while also allowing you to stop on Java language breakpoints and view your Java language memory contents.
Auto Debugger Selection: Android Studio apps can now use debugger type “Auto.” This will automatically enable the appropriate debugger -- the Java language aware C++ debugger if enabled and otherwise the hybrid debugger for C++ projects. Projects exclusively using the Java language will continue to use the Java language debugger.
Enable Auto Debugger for C++
What's Next
Download
If you are using a previous version of Android Studio, you can check for updates on the Canary channel from the navigation menu (Help → Check for Update [Windows/Linux] , Android Studio → Check for Updates [OS X]). This update will download a new version, and not patch your existing copy of Android Studio. You can also download Android Studio 2.2 Preview from canary release site.
For the Android Studio 2.2 Preview, we recommend you run a stable version alongside the new canary. Check out the tools site on how to run two versions at the same time.
We appreciate any feedback on things you like, issues or features you would like to see. Connect with us -- the Android Studio development team -- on our Google+ page or on Twitter.
In the past year, Android users around the globe have installed apps–built by developers like you–over 65 billion times on Google Play. To help developers continue to build amazing experiences on top of Android, today at Google I/O, we announced a number of new things we’re doing with the platform, including the next Developer Preview of Android N, an extension of Android into virtual reality, an update to Android Studio, and much more!
Android N Developer Preview is available to try on a range of devices
Android N: Performance, Productivity and Security
With Android N, we want to achieve a new level of product excellence for Android, so we’ve carried out some pretty deep surgery to the platform, rewriting and redesigning some fundamental aspects of how the system works. For Android N, we are focused on three key themes: performance, productivity and security. The first Developer Preview introduced a brand new JIT compiler to improve software performance, make app installs faster, and take up less storage. The second N Developer Preview included Vulkan, a new 3D rendering API to help game developers deliver high performance graphics on mobile devices. Both previews also brought useful productivity improvements to Android, including Multi-Window support and Direct Reply.
Multi-Window mode on Android N
Android N also adds some important new features to help keep users safer and more secure. Inspired by how Chromebooks apply updates, we’re introducing seamless updates, so that new Android devices built on N can install system updates in the background. This means that the next time a user powers up their device, new devices can automatically and seamlessly switch into the new updated system image.
Today’s release of Android N Developer Preview 3 is our first beta-quality candidate, available to test on your primary phone or tablet. You can opt in to the Android Beta Program at android.com/beta and run Android N on your Nexus 6, 9, 5X, 6P, Nexus Player, Pixel C, and Android One (General Mobile 4G). By inviting more people to try this beta release, developers can expect to see an uptick in usage of your apps on N; if you’ve got an Android app, you should be testing how it works on N, and be watching for feedback from users.
VR Mode in Android
Android was built for today’s multi-screen world; in fact, Android powers your phone, your tablet, the watch on your wrist, it even works in your car and in your living room, all the while helping you move seamlessly between each device. As we look to what’s next, we believe your phone can be a really powerful new way to see the world and experience new content virtually, in a more immersive way; but, until this point, high quality mobile VR wasn’t possible across the Android ecosystem. That’s why we’ve worked at all levels of the Android stack in N–from how the operating system reads sensor data to how it sends pixels to the display–to make it especially built to provide high quality mobile VR experiences, with VR Mode in Android. There are a number of performance enhancements designed for developers, including single buffer rendering and access to an exclusive CPU core for VR apps. Within your apps, you can take advantage of smooth head-tracking and stereo notifications that work for VR. Most importantly, Android N provides for very low latency graphics; in fact, motion-to-photon latency on Nexus 6P running Developer Preview 3 is <20 ms, the speed necessary to establish immersion for the user to feel like they are actually in another place. We’ll be covering all of the new VR updates tomorrow at 9AM PT in the VR at Google session, livestreamed from Google I/O.
Android Instant Apps: real apps, without the installation
We want to make it easier for users to discover and use your apps. So what if your app was just a tap away? What if users didn't have to install it at all? Today, we're introducing Android Instant Apps as part of our effort to evolve the way we think about apps. Whether someone discovers your app from search, social media, messaging or other deep links, they’ll be able to experience a fast and powerful native Android app without needing to stop and install your app first or reauthenticate. Best of all, Android Instant Apps is compatible with all Android devices running Jellybean or higher (4.1+) with Google Play services. Android Instant Apps functionality is an upgrade to your existing Android app, not a new, separate app; you can sign-up to request early access to the documentation.
Android Wear 2.0: UI changes and standalone apps
This morning at Google I/O, we also announced the most significant Android Wear update since its launch two years ago: Android Wear 2.0. Based on what we’ve learned from users and developers, we're evolving the platform to improve key watch experiences: watch faces, messaging, and fitness. We’re also making a number of UI changes and updating our design guidelines to make your apps more consistent, intuitive, and beautiful. With Android Wear 2.0, apps can be standalone and have direct network access to the cloud via a Bluetooth, Wi-Fi, or cellular connection. Since your app won’t have to rely on the Data Layer APIs, it can continue to offer full functionality even if the paired phone is far away or turned off. You can read about all of the new features available in today’s preview here.
Android Studio 2.2 Preview: a new layout designer, constraint layout, and much more Android Studio is the quickest way to get up and running with Android N and all our new platform features. Today at Google I/O, we previewed Android Studio 2.2 - another big update to the IDE designed to help you code faster with smart new tooling features built in. One of the headline features is our rewritten layout designer with the new constraint layout. In addition to helping you get out of XML to do your layouts visually, the new tools help you easily design for Android’s many great devices. Once you’re happy with a layout, we do all the hard work to automatically calculate constraints for you, so your UIs will resize automatically on different screen sizes . Here’s an overview of more of what’s new in 2.2 Preview (we’ll be diving into more detail this update at 10AM PT tomorrow in “What’s new in Android Development Tools”, livestreamed from Google I/O):
Speed: New layout designer and constraint layout, Espresso test recording and even faster builds
Platform Support: Enhanced Jack compiler / Java 8 support, Expanded C++ support with CMake and NDK-Build, Firebase support and enhanced accessibility
New Layout Editor and Constraint Layout in Android Studio 2.2 Preview
This is just a small taste of some of the new updates for Android, announced today at Google I/O. There are more than 50 Android-related sessions over the next three days; if you’re not able to join us in person, many of them will be livestreamed, and all of them will be posted to YouTube after we’re done. We can’t wait to see what you build!
With the launch Android N Developer Preview, we wanted to give you an easy and comprehensive way to build, test and validate your apps on the latest release with Android Studio. Built on the speed and feature enhancements of Android Studio 2.0, the stable release of Android Studio 2.1 includes updates to the IDE wizards, build system and Android Emulator so that you can try out new features and APIs of the developer preview including the new Jack compiler and Java 8 language support. In addition to support for the N Developer Preview, Android Studio 2.1 also includes performance improvements to Instant Run which leads to faster edit and deploy build speeds. If you are developing and validating your app with the N Developer Preview or want faster Instant Run speeds, you should download or update on the stable release channel to Android Studio 2.1.
Android Studio 2.1 includes the following new features:
N Developer Preview Support: Android Studio 2.1 is the best IDE to test and validate your app with the N Developer Preview. Get the latest versions of the preview SDK, experiment with the new Java 8 support, and gain access to the only official Android Emulator able to run N Developer Preview Emulator System Images to help in your testing.
Instant Run: For those of you who enjoyed the fast edit, build and deploy cycle with Android Studio 2.0, Instant Run now can now update incremental changes to your app code significantly faster.
Deeper Dive into the New Features
N Developer Preview
On top of new features and APIs of the N Developer Preview, Android Studio 2.1 release includes support for the new Jack compiler and support for Java 8. With the Jack compiler, lambdas, method references, compile-time type annotations, intersection types and type inference are available on all versions of the Android platform. Default and static methods and repeatable annotations are available on Android N and higher. To use Java 8 language features when developing with the N Developer Preview, you need to use the Jack compiler. The New Project Wizard [File→ New→ Project] generates the correct configurations for projects targeting the N.
Getting started with development is as easy generating a new project or updating a few settings in your existing project. Once you are ready to test, you can create a fresh Android Virtual Device (AVD) and run your app on the N Developer Preview using the new Android Emulator.
N Developer Preview on the new Android Emulator
Instant Run & General Build Performance Improvements
Instant Run and general build speed are now faster with two new features: incremental Java compilation and in-process dex.
In previous versions of Android Studio, a single line of Java code change will cause all the Java sources in the module to be recompiled. Now in Android Studio 2.1, incremental Java compilation is enabled by default to reduce compilation time by compiling only what is needed.
We are also speeding up build times by using in-process dex, which converts class files to dex files within the Gradle daemon process. This avoids the costly processing operation of creating separate dex processes. To use this feature, you will need to increase the amount of memory available to the Gradle daemon to at least 2GB (1 GB is the default). This feature will help speed up both incremental and full builds.
We’d appreciate your feedback as we continue to improve Instant Run and general build performance. We are going to keep working on making build times even faster in coming releases. Click here to learn even more about the build changes.
What's Next
Update
If you are using a previous version of Android Studio, you can check for updates on the Stable channel from the navigation menu (Help → Check for Update [Windows/Linux] , Android Studio → Check for Updates [OS X]). If you need a new copy of Android Studio, you can download it here.
Test and Validate Apps with N Developer Preview
After you update to or download Android Studio 2.1 and you want to test and develop your apps with the N Developer Preview, create a fresh Android Virtual Device (AVD) for the new Android emulator, and check out these additional setup instructions.
We appreciate any feedback on things you like, issues or features you would like to see. Connect with us -- the Android Studio development team -- on our Google+ page or on Twitter.
Android Studio 2.0 is the fastest way to build high quality, performant apps for the Android platform, including phones and tablets, Android Auto, Android Wear, and Android TV. As the official IDE from Google, Android Studio includes everything you need to build an app, including a code editor, code analysis tools, emulators and more. This new and stable version of Android Studio has fast build speeds and a fast emulator with support for the latest Android version and Google Play Services.
Android Studio is built in coordination with the Android platform and supports all of the latest and greatest APIs. If you are developing for Android, you should be using Android Studio 2.0. It is available today as a easy download or update on the stable release channel.
Android Studio 2.0 includes the following new features that Android developer can use in their workflow :
Instant Run - For every developer who loves faster build speeds. Make changes and see them appear live in your running app. With many build/run accelerations ranging from VM hot swapping to warm swapping app resources, Instant Run will save you time every day.
Android Emulator - The new emulator runs ~3x faster than Android’s previous emulator, and with ADB enhancements you can now push apps and data 10x faster to the emulator than to a physical device. Like a physical device, the official Android emulator also includes Google Play Services built-in, so you can test out more API functionality. Finally, the new emulator has rich new features to manage calls, battery, network, GPS, and more.
Cloud Test Lab Integration - Write once, run anywhere. Improve the quality of your apps by quickly and easily testing on a wide range of physical Android devices in the Cloud Test Lab right from within Android Studio.
App Indexing Code Generation & Test - Help promote the visibility your app in Google Search for your users by adding auto-generated URLS with the App Indexing feature in Android Studio. With a few click you can add indexable URL links that you can test all within the IDE.
GPU Debugger Preview - For those of you developing OpenGL ES based games or apps, you can now see each frame and the GL state with the new GPU debugger. Uncover and diagnosis GL rendering issues by capturing and analyzing the GPU stream from your Android device.
IntelliJ 15 Update - Android Studio is built on the world class Intellij coding platform. Check out the latest Intellij features here.
Deeper Dive into the New Features
Instant Run
Today, mobile platforms are centered around speed and agility. And yet, building for mobile can sometimes feel clunky and slow. Instant Run in Android Studio is our solution to keep you in a fast and fluid development flow. The feature increases your developer productivity by accelerating your edit, build, run cycles. When you click on the Instant Run button (), Instant Run will analyze the changes you have made and determine how it can deploy your new code in the fastest way.
New Instant Run Buttons
Whenever possible, it will inject your code changes into your running app process, avoiding re-deployment and re-installation your APK. For some types of changes, an activity or app restart is required, but your edit, build and run cycles should still be generally much faster than before. Instant Run works with any Android Device or emulator running API 14 (Ice Cream Sandwich) or higher.
Since previewing Instant Run at the end of last year, we’ve spent countless hours incorporating your feedback and refining for the stable release. Look for even more acceleration in future releases because build speeds can never be too fast. To learn how you can make the most out of Instant Run in your app development today, please check out our Instant Run documentation.
Android Emulator
The new Android Emulator is up to 3x faster in CPU, RAM, & I/O in comparison to the previous Android emulator. And when you're ready to build, ADB push speeds are a whopping 10x faster! In most situations, developing on the official Android Emulator is faster than a real device, and new features like Instant Run will work best with the new Android emulator.
In addition to speed and performance, the Android Emulator has a brand user interface and sensor controls. Enhanced since the initial release, with the emulator you can drag and drop APKs for quick installation, resize and rescale the window, use multi-touch actions (pinch & zoom, pan, rotate, tilt) and much more.
Android Emulator User Interface: Toolbar & Extend Controls Panel
Trying out the new emulator is as easy as updating your SDK Tools to 25.1.1 or higher, create a fresh Android Virtual Device using one of the recommended x86 system images and you are ready to go. Learn more about the Android Emulator by checking out the documentation.
Cloud Test Lab
Cloud Test Lab is a new service that allows you to test your app across a wide range of devices and device configurations at scale in the cloud. Once you complete your initial testing with your Android Emulator or Android device, Cloud Test Lab is a great extension to your testing process that provides you to run through a collection of tests against a portfolio of physical devices hosted in Google’s data centers. Even if you do not have tests explicitly written, Cloud Test Lab can perform a basic set of tests to ensure that your app does not crash.
The new interface in Android Studio allows you to configure the portfolio of tests you want to run on Cloud Test Lab, and allows you to also see the results of your tests. To learn more about the service go here.
Setup for Cloud Test Lab
App Indexing
It is now easier for your users to find your app in Google Search with the App Indexing API. Android Studio 2.0 helps you to create the correct URL structure in your app code and add attributes in your AndroidManifest.xml file that will work the Google App Indexing service. After you add the URLs to your app, can you test and validate your app indexing code as shown here:
Google App Indexing Testing
Check out this link for more details about app indexing support in Android Studio.
GPU Debugger Preview
If you are developing OpenGL ES games or graphics-intensive apps, you have a new GPU debugger with Android Studio 2.0. Although the GPU debugger is a preview, you can step through your app frame by frame to identify and debug graphics rendering issues with rich information about the GL state. For more details on how to setup your Android device and app to work with the tool, check out the tech documentations here.
GPU Debugger Preview
What's Next
Update
If you are using a previous version of Android Studio, you can check for updates on the Beta channel from the navigation menu (Help → Check for Update [Windows/Linux] , Android Studio → Check for Updates [OS X]). If you need a new copy of Android Studio, you can download it here. If you developing for the N Developer Preview, check out this additional setup instructions.
Set Up Instant Run & Android Emulator
After you update to or download Android Studio 2.0, you should upgrade your projects to use Instant Run, and create a fresh Android Virtual Device (AVD) for the new Android emulator and you are on your way to a fast Android development experience.
Using Instant Run is easy. For each of your existing projects you will see a quick prompt to update your project to the new gradle plugin version (com.android.tools.build:gradle:2.0.0).
Prompt to update your gradle version in your project
For all new app projects in Android Studio 2.0, Instant Run is on by default. Check out the documentation for more details.
We are already hard at work developing the next release of Android Studio. We appreciate any feedback on things you like, issues or features you would like to see. Connect with us -- the Android Studio development team -- on our new Google+ page or on Twitter.
When talking about the Android Support Library, it is important to realize this isn’t one monolithic library, but a whole collection of libraries that seek to provide backward-compatible versions of APIs, as well as offer unique features without requiring the latest platform version. Version 23.2 adds a few new support libraries as well as new features to many of the existing libraries.
Support Vector Drawables and Animated Vector Drawables
Vector drawables allow you to replace multiple png assets with a single vector graphic, defined in XML. While previously limited to Lollipop and higher devices, both VectorDrawable and AnimatedVectorDrawable are now available through two new Support Libraries support-vector-drawable and support-animated-vector-drawable, respectively.
Android Studio 1.4 introduced limited support for vector drawables by generating pngs at build time. To disable this functionality (and gain the true advantage and space savings of this Support Library), you need to add vectorDrawables.useSupportLibrary = true to your build.gradle file:
You’ll note this new attribute only exists in the version 2.0 of the Gradle Plugin. If you are using Gradle 1.5 you’ll instead use
// Gradle Plugin 1.5
android {
defaultConfig {
generatedDensities = []
}
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions {
additionalParameters "--no-version-vectors"
}
}
You’ll be able to use VectorDrawableCompat back to API 7 and AnimatedVectorDrawableCompat on all API 11 and higher devices. Due to how drawables are loaded by Android, not every place that accepts a drawable id (such as in an XML file) will support loading vector drawables. Thankfully, AppCompat has added a number of features to make it easy to use your new vector drawables.
Firstly, when using AppCompat with ImageView (or subclasses such as ImageButton and FloatingActionButton), you’ll be able to use the new app:srcCompat attribute to reference vector drawables (as well as any other drawable available to android:src):
And if you’re changing drawables at runtime, you’ll be able to use the same setImageResource() method as before - no changes there. Using AppCompat and app:srcCompat is the most foolproof method of integrating vector drawables into your app.
You’ll find directly referencing vector drawables outside of app:srcCompat will fail prior to Lollipop. However, AppCompat does support loading vector drawables when they are referenced in another drawable container such as a StateListDrawable, InsetDrawable, LayerDrawable, LevelListDrawable, and RotateDrawable. By using this indirection, you can use vector drawables in cases such as TextView’sandroid:drawableLeft attribute, which wouldn’t normally be able to support vector drawables.
AppCompat DayNight theme
While enabling the use of vector graphics throughout your app is already a large change to AppCompat, there’s a new theme added to AppCompat in this release: Theme.AppCompat.DayNight.
Prior to API 14, The DayNight theme and its descendents DayNight.NoActionBar, DayNight.DarkActionBar, DayNight.Dialog, etc. become their Light equivalents. But on API 14 and higher devices, this theme allows apps to easily support both a Light and Dark theme, effectively switching from a Light theme to a Dark theme based on whether it is ‘night’.
By default, whether it is ‘night’ will match the system value (from UiModeManager.getNightMode()), but you can override that value with methods in AppCompatDelegate. You’ll be able to set the default across your entire app (until process restart) with the static AppCompatDelegate.setDefaultNightMode() method or retrieve an AppCompatDelegate via getDelegate() and use setLocalNightMode() to change only the current Activity or Dialog.
When using AppCompatDelegate.MODE_NIGHT_AUTO, the time of day and your last known location (if your app has the location permissions) are used to automatically switch between day and night, while MODE_NIGHT_NO and MODE_NIGHT_YES forces the theme to never or always use a dark theme, respectively.
It is critical that you test your app thoroughly when using the DayNight themes as hardcoded colors can easily make for unreadable text or icons. If you are using the standard TextAppearance.AppCompat styles for your text or colors pulled from your theme such as android:textColorPrimary, you’ll find these automatically update for you.
However, if you’d like to customize any resources specifically for night mode, AppCompat reuses the night resource qualifier folder, making it possible customize every resource you may need. Please consider using the standard colors or taking advantage of the tinting support in AppCompat to make supporting this mode much easier.
By attaching a BottomSheetBehavior to a child View of a CoordinatorLayout (i.e., adding app:layout_behavior=”android.support.design.widget.BottomSheetBehavior”), you’ll automatically get the appropriate touch detection to transition between five state:
STATE_COLLAPSED: this collapsed state is the default and shows just a portion of the layout along the bottom. The height can be controlled with the app:behavior_peekHeight attribute (defaults to 0)
STATE_DRAGGING: the intermediate state while the user is directly dragging the bottom sheet up or down
STATE_SETTLING: that brief time between when the View is released and settling into its final position
STATE_EXPANDED: the fully expanded state of the bottom sheet, where either the whole bottom sheet is visible (if its height is less than the containing CoordinatorLayout) or the entire CoordinatorLayout is filled
STATE_HIDDEN: disabled by default (and enabled with the app:behavior_hideable attribute), enabling this allows users to swipe down on the bottom sheet to completely hide the bottom sheet
Keep in mind that scrolling containers in your bottom sheet must support nested scrolling (for example, NestedScrollView, RecyclerView, or ListView/ScrollView on API 21+).
If you’d like to receive callbacks of state changes, you can add a BottomSheetCallback:
// The View with the BottomSheetBehavior
View bottomSheet = coordinatorLayout.findViewById(R.id.bottom_sheet);
BottomSheetBehavior behavior = BottomSheetBehavior.from(bottomSheet);
behavior.setBottomSheetCallback(new BottomSheetCallback() {
@Override
public void onStateChanged(@NonNull View bottomSheet, int newState) {
// React to state change
}
@Override
public void onSlide(@NonNull View bottomSheet, float slideOffset) {
// React to dragging events
}
});
While BottomSheetBehavior captures the persistent bottom sheet case, this release also provides a BottomSheetDialog and BottomSheetDialogFragment to fill the modal bottom sheets use case. Simply replace AppCompatDialog or AppCompatDialogFragment with their bottom sheet equivalents to have your dialog styled as a bottom sheet.
Support v4: MediaBrowserServiceCompat
The Support v4 library serves as the foundation for much of the support libraries and includes backports of many framework features introduced in newer versions of the platform (as well a number of unique features).
Adding onto the previously released MediaSessionCompat class to provide a solid foundation for media playback, this release adds MediaBrowserServiceCompat and MediaBrowserCompat providing a compatible solution that brings the latest APIs (even those added in Marshmallow) back to all API 4 and higher devices. This makes it much easier to support audio playback on Android Auto and browsing through media on Android Wear along with providing a standard interface you can use to connect your media playback service and your UI.
RecyclerView
The RecyclerView widget provides an advanced and flexible base for creating lists and grids as well as supporting animations. This release brings an exciting new feature to the LayoutManager API: auto-measurement! This allows a RecyclerView to size itself based on the size of its contents. This means that previously unavailable scenarios, such as using WRAP_CONTENT for a dimension of the RecyclerView, are now possible. You’ll find all built in LayoutManagers now support auto-measurement.
Due to this change, make sure to double check the layout parameters of your item views: previously ignored layout parameters (such as MATCH_PARENT in the scroll direction) will now be fully respected.
If you have a custom LayoutManager that does not extend one of the built in LayoutManagers, this is an opt-in API - you’ll be required to call setAutoMeasureEnabled(true) as well as make some minor changes as detailed in the Javadoc of the method.
Note that although RecyclerView animates its children, it does not animate its own bounds changes. If you would like to animate the RecyclerView bounds as they change, you can use the Transition APIs.
Custom Tabs
Custom Tabs makes it possible to seamlessly transition to web content while keeping the look and feel of your app. With this release, you’ll now be able to add actions to a bottom bar for display alongside the web content.
With the new addToolbarItem() method, you’ll be able to add up to currently 5 (MAX_TOOLBAR_ITEMS) actions to the bottom bar and update them with setToolbarItem() once the session has begun. Similar to the previous setToolbarColor() method, you’ll also find a setSecondaryToolbarColor() method for customizing the background color of the bottom bar.
The most visible change may be the introduce of a second column used for action buttons (added by overriding onCreateButtonActions() or calling setButtonActions()). This makes it much easier to reach completion actions without having to scroll through the list of available GuidedActions.
Speaking of GuidedActions, there’s a number of new features to allow richer input including editable descriptions (via descriptionEditable()), sub actions in the form of a dropdown (with subActions()), and a GuidedDatePickerAction.
These components should make it much easier for you to get information from the user when absolutely required.
Available Now
Version 23.2 of the Android Support Library is available via your SDK Manager and Android Studio. Take advantage of all of the new features as well as additional bug fixes starting now! As always, file bug reports at b.android.com and connect with other developers on the Android Development Google+ community.