Recent Changes

The following features and bug fixes were recently checked in. For complete details, see the git changelogs at

Android Studio 2.2.3 is now Available

posted Dec 6, 2016, 1:16 PM by Chris Iremonger   [ updated Dec 6, 2016, 1:35 PM ]

This is a minor update to Android Studio 2.2. It includes a bug fixes focused around gradle, the core IDE, and lint.

Highlighted Build Changes
  • ProGuard version rollback. Due to a correctness issue discovered in ProGuard 5.3.1, we have rolled back to ProGuard 5.2.1. We have worked with the ProGuard team on getting a fix quickly, and we expect to roll forward to ProGuard 5.3.2 in Android Studio 2.3 Canary 3.
  • Bug fix for aaptOptions IgnoreAssetsPattern not working properly (http://b.android.com/224167)
  • Bug fix for Gradle autodownload for Constraint Layout library (http://b.android.com/212128)
  • Bug fix for a JDK8/Kotlin compiler + dx issue (http://b.android.com/227729)

This should be available to you in Beta and Dev Channels, but you can always manually download Android Studio 2.2.3 from our site.

Android Studio 2.3 Canary 2 is now Available

posted Nov 22, 2016, 8:16 AM by Chris Iremonger   [ updated Nov 22, 2016, 10:41 AM by J. Eason ]

We have just released Android Studio 2.3 Canary 2 to the Canary and Dev channels. This build contains a large number of bug fixes and a handful of new features.

Below are highlights of some of the major changes in this release:
 
Lean Navigation Updates
we have an updated toolbar with the AVD & SDK Manager icons for those who just use the lean Navigation Toolbar and not the full Toolbar.

Updated Toolbar with AVD and SDK Manager icons

Bugs:
  • Applying Patches from Android Studio Canary 1 was broken. A fix should be in Canary 2 going forward. (SDK Patches continue to be broken and we are still working on a fix for this new feature.)
  • Android Studio and the Kotlin plugin should now be functional again.
  • Many other bug fixes as well.

ConstraintLayout beta 4 is now available

posted Nov 16, 2016, 2:21 PM by Nicolas Roard   [ updated Nov 16, 2016, 4:17 PM ]

We just published ConstraintLayout beta 4. As always, it's available in the SDK Manager (under the "Support Repository" section).

Note: if you are using Android Studio 2.2, you might have to do File->Invalidate Caches & restart studio after installing this version (the editor behavior may not be correct, with widgets temporarily snapping to the top left corner or not shown).

This release fixes a few bugs related to guideline positioning and use of include tag, plus some additional performance improvement. We encourage you to update from previous versions.

Android Studio 2.3 Canary Available

posted Nov 11, 2016, 6:32 AM by Tor Norbye   [ updated Nov 11, 2016, 9:32 AM ]

We have just released Android Studio 2.3 to the Canary channel. This is an early preview of work going into the next major release of Android Studio. This build contains a large number of bug fixes and a handful of new features.

Below are highlights of some of the major changes in this release:

  • IDE: We've upgraded the base IDE from IntelliJ 2016.1 to 2016.2, which adds a number of new features -- ligatures, breadcrumbs, editor background images, revamped UI for inspections, notifications and the debugger, and more.

  • Layout Editor: The layout editor now supports chains and ratios for ConstraintLayout.

  • Lint
    • Lint now has "baseline support" which lets you check in a current set of warnings -- and from now on, only new issues are reported. This lets a project with a lot of technical debt set a baseline and then break the build only when new issues are introduced, without having to go and fix all existing issues first. In order not to forget about the technical debt though it creates an info-level issue which tells you that you've filtered out bugs:
    • There are many new lint checks. Some examples include enforcing the new @RestrictTo and @VisibleForTesting(otherwise=intended) annotations in support library 25, flagging obsolete SDK_INT checks, making sure animated properties are valid and not renamed in release builds,flagging potential wifi manager memory leaks, and many more. 
    • Learn more about the new lint checks, and the baseline support, in this tech doc.

  • WebP:  Android Studio 2.3 now provides PNG to WebP Conversion. With the new conversion wizard, you can quickly generate WebP images and if you're using the lossy encoding, inspect the diffs of your images. Using WebP images in your app saves APK space and is more performant. Learn more about the new WebP Support in this tech doc.


  • Data Binding: In addition to a lot of bug fixes in the editing support for data binding, there is a new feature to help debug apps using data binding. Normally the IDE will automatically compute the data binding classes "on the fly" such that they are always correct and up to date with your edits in the XML files. However, when you are debugging your app, you may want to see and step into exactly the code that was compiled. You can now enable this under preferences:

  • Pixel and Pixel XL: Pixel and Pixel XL device definitions added to the Layout Editor and AVD Manager to help  test your app with Android 7.1 Developer Preview Release. 



  • Incremental SDK Updates: This version of Studio includes support for incremental patching of SDK components, such as system images. We can now provide patches for system images (which are often very large) and updating those with Studio 2.3 will allow a much smaller and faster download.

  • Build System: Support for the new Gradle plugin 2.3.0. There are some notable changes:
    • The user cache for dex files is now enabled by default, which should speed up builds
    • Configuration times for very large projects should be significantly faster
    • For Instant Run, the "startup delay" (where large apps stall for a few seconds at startup) should be gone
    • Instant Run is using "APK Splits" when targeting Android N which is a bit more reliable than the classloader tricks it uses to target older platforms

  • Bug Fixes. A notable & highly requested enhancement (b.android.com/220197) we also added is a search box to the Vector Asset Wizard You can now quickly filter through the vector icons based on the name of the asset.
(NOTE: If you're using Kotlin, don't upgrade yet. The Kotlin plugin is being updated to work with 2.3. See https://twitter.com/kotlin/status/797111726516879360 .)

As always, please try it, feedback is very much encouraged!

You can update via the built-in update mechanism (switch to the canary channel if necessary), or you can download a separate install of the IDE such that you can keep 2.2.2 stable and 2.3 canary installed side by side.

ConstraintLayout beta 3 is now available

posted Nov 3, 2016, 10:15 AM by Nicolas Roard   [ updated Nov 3, 2016, 11:53 AM ]

We just published ConstraintLayout beta 3. As always, it's available in the SDK Manager (under the "Support Repository" section).

This release fixes several bugs related to layout resolution; WRAP_CONTENT support in particular has been improved when using chains. Min/max dimensions on the ConstraintLayout itself are now correctly supported (android:minWidth, android:maxWidth, android:minHeight, android:maxHeight). We encourage everyone to update to this new version!

Note: if you are using Android Studio 2.2 and it is your first installation of ConstraintLayout (or you had a version older than alpha 8), you might have to restart studio (or invalidate caches) after installing this version (the editor behavior may not be correct, with widgets temporarily snapping to the top left corner).

ConstraintLayout beta 2 is now available

posted Oct 28, 2016, 10:31 AM by Nicolas Roard

We just published ConstraintLayout beta 2. As always, it's available in the SDK Manager (under the "Support Repository" section).

This build fixes a few issues with API level support under level 16. It also contains several large performance improvements (~2x speedup in many common situations).

Note: if you are using Android Studio 2.2 and it is your first installation of ConstraintLayout (or you had a version older than alpha 8), you might have to restart studio (or invalidate caches) after installing this version (the editor behavior may not be correct, with widgets temporarily snapping to the top left corner).



ConstraintLayout beta 1 is now available

posted Oct 20, 2016, 11:00 AM by Nicolas Roard

We just published ConstraintLayout beta 1 -- our first release candidate for the upcoming 1.0 stable release.
As always, it's available in the SDK Manager (under the "Support Repository" section).

Note: As for alpha 8 and 9, if you are using Android Studio 2.2 and it is your first installation of ConstraintLayout, you might have to restart studio (or invalidate caches) after installing beta 1 (the editor behavior may not be correct, with widgets temporarily snapping to the top left corner).

We fixed several issues in this build:
  • chains priority was sometimes inadequate, resulting in counterintuitive results in a few cases
  • wrap_content wasn't working in a layout only containing chains
  • wrap_content with match_constraint had corner cases resulting in incorrect final bounds
Few small features were added as we are heading toward a stable release in the next few weeks:
  • support android:minWidth and android:minHeight on ConstraintLayout itself (applicable when wrap_content is used)
  • added a copy constructor on ConstraintLayout.LayoutParams
  • an extra chain style was added, with an API change (layout_constraintHorizontal_chainStyle and layout_constraintVertical_chainStyle), deprecating layout_constraintHorizontal_chainPacked and layout_constraintVertical_chainPacked)

Important: The layout editor in AndroidStudio 2.2 does not support the new Chains feature, so will not have affordances to help you interact with chains. The preview visualization ("design mode") in the layout editor will show you the correct positioning if you use chains, but the blueprint mode will not, showing incorrect bounds for the widgets. We are planning to update the editor in our next Android Studio preview release, to support Chains adequately.

Please give us feedback on this release, as this is the first release candidate :)

Android Studio 2.2.2 is now Available

posted Oct 19, 2016, 2:29 PM by Chris Iremonger   [ updated Oct 19, 2016, 2:40 PM ]

On Oct 19th, we just released Android Studio 2.2.2 to the canary, dev, beta, and stable channels.

This build contains a handful of bug fixes on top of Android Studio 2.2.1

Fixed Issues
  • Instant Run bug fixes
  • Gradle Plug-in Bug fixes
  • 32-bit JDK for use on 32-bit Windows
New Features
  • Android API 25 Support - Basic support for API 25 inside Android Studio to support the Android 7.1 developer preview. We know there are still a few more updates inside Android Studio before we set API 25 as the default.
  • Expanded reporting when reporting Instant Run issues - When reporting an instant run issue we now collect 

Thanks to everyone for their bug and crash reports, and keep them coming!

Android Studio 2.2.1 is now Available

posted Oct 7, 2016, 2:00 PM by Chris Iremonger   [ updated Oct 10, 2016, 12:26 PM ]

On Oct 7th, we just released Android Studio 2.2.1 to the canary, dev, and beta channel and on Oct 10th we released to stable.

This build contains a handful of bug fixes on top of Android Studio 2.2. 

Fixed Issues
  • An Updated JDK to address multiple issues with MacOS Sierra 
  • Improves the Native (C++) Development experience by resolving multiple critical bugs
  • Several Instant Run and Gradle Bug Fixes
  • Multiple issues in data binding
New Features
  • Improved Reporting for Instant Run Issues:  Some of you have been reporting issues with Instant Run, but it has been hard for us reproduce them. We have added extra logging to help us investigate Instant Run issues. This extra logging is OFF by default, and to enable it, go to Settings or Preferences, go to Build, Execution, Deployment > Instant Run, and check Log extra info is check. Next time you encounter an Instant Run issues, you can report it by clicking Help > Report Instant Run Issue...
Thanks to everyone for their bug and crash reports, and keep them coming!

ConstraintLayout alpha 9 is now available

posted Sep 28, 2016, 8:33 PM by Nicolas Roard   [ updated Sep 29, 2016, 6:22 AM ]

We are very excited to announce the release of ConstraintLayout alpha 9 -- this contains the final feature set for 1.0, and is the final step before releasing the first beta candidate release.
It's available in the SDK Manager (under the "Support Repository" section).

Note: As for alpha 8, if you are using Android Studio 2.2 and it is your first installation of ConstraintLayout, you might have to restart studio (or invalidate caches) after installing alpha 9 (the editor behavior may not be correct, with widgets temporarily snapping to the top left corner). 

We fixed a few issues in this build:
  • we had a regression in the way we handled text wrap
  • correct handling of RTL for horizontal bias
  • correct handling of GONE for constraint ratios
We added some new features and some performance improvements
  • loading constraints directly from XML files with ConstraintSet
  • support for Chains in the layout and in ConstraintSet
A few words about Chains

Chains are a very powerful new feature that allow you to set up certain group behavior that would otherwise be difficult or impossible to do in ConstraintLayout. They work in a single axis (you can have a vertical chain without having the elements of the chain be affected horizontally), and maintain a flat hierarchy. 
  • Widgets are considered part of a chain if they are connected to other widgets with bi-directional constraints, e.g. in A<-B<->C->D, B and C are part of a chain
  • Chains allow you to control how the elements of a chain will be positioned over the available space; e.g. |AB---|, |---AB|, |--AB--|, |-A-B-|, or stretched |AAAB|
  • A chain can be either packed (layout_constraintHorizontal_chainPacked and layout_constraintVertical_chainPacked attributes of the first widget in the chain), in that case the chain position will be controlled via the layout_constraintHorizontal_bias and layout_constraintVertical_bias attributes (still on the first widget in the chain).
  • Or spread. In that case the widgets of the chain will be positioned equally in the available space. If one or more widget is set to MATCH_CONSTRAINT, they will divide the available space equally and be resized to use it. How much each widget set to MATCH_CONSTRAINT will use the available space can be controlled by the attributes layout_constraintHorizontal_weight and layout_constraintVertical_weight

Note that while chains allow you to keep a flat hierarchy (e.g. no need to use an embedded sub layout), it is perfectly fine to continue using sub layouts (e.g. a linear layout inside a constraint layout), particularly if they help while building your UI conceptually. The idea with chains though is that it allows you to use sub layouts only when it makes sense.

Important: The layout editor in AndroidStudio 2.2 does not support the new Chains feature, so will not have affordances to help you create chains. The preview visualisation ("design mode") in the layout editor will show you the correct positioning if you use chains, but the blueprint mode will not, showing incorrect bounds for the widgets. We are planning to update the editor in our next Android Studio preview release, to support Chains adequately.

Please give us feedback on this release, as this should be our last alpha :)

1-10 of 303