Monday, December 12, 2016

Android Studio 2.3 Canary 3 is now Available

We have just released Android Studio 2.3 Canary 3 to the Canary and Dev channels. The gradle plugin should be available from JCenter within the next 24 hours.

In addition to the usual plethora of bug fixes, there are a number of noteworthy changes in this release:

Instant Run. We've made a big change to how Instant Run works in this release. Applying changes to a running applications is no longer tied to the play.png Run button. The Run button will now always perform an application restart. To apply code and resource changes in the running process, there is a new hot-reload.png button right next to it,  "Apply Changes", which attempts to hotswap the changes into the app. (The keyboard shortcut for Apply Changes is Control-F10 on Windows and Linux, and Cmd-Ctrl-R on Mac.)

toolbar.png

The goal of this change is to make the Run button completely reliable. When you press Run, you can always be certain that your changes are reflected in the running app. Applying changes is now a separate action you take when you've made a tweak you want to see immediately. The Run button continues to use "cold swap" to build the app more quickly than a full APK reinstall, but we've limited it to Lollipop and above where we don't need to rely on unsafe mechanisms to do so.

Build Cache. In Android Studio 2.3 Canary 1,  we have enabled a new build cache (which uses a shared directory across projects to extract and compile libraries) by default. This turned out to break several features in the IDE that were making assumptions about the locations of libraries. In Android Studio 2.3 Canary 3, most of these bugs have been fixed; there are a few cosmetic ones remaining (such as listing library versions in the merged manifest editor and in documentation popups etc) that we'll be fixing next. Known issue.

new-palette.png

Layout Editor. There are several new features in the layout editor. First, the palette has been completely rewritten. The new palette offers previews of the widgets, better sorting, as well as search and filtering: click on the search icon findPlain.png to find a widget. Second, search and filtering now also works in the property inspector. And third, you can now customize the set of properties shown for a given widget type in the inspector. In the all properties table, click on the star icon favorites.png to favorite the properties you want to see for this type of widget, and from now on these properties will be shown in the Favorites section in the component inspector.

In this build we've reworked the internal architecture to improve the performance and reliability, and there are some rough edges remaining that we'll be addressing in the next build. For example, the blue print mode is missing labels.

App Links Assistant. Android App Links allow your users to seamlessly deep link into your app experience. Adding Android App Links support in your app is now easier with this new experience in Android Studio. Just go to Tools > App Links Assistant in Android Studio to get started.


Lint. The command line HTML reports have been been overhauled -- instead of the old dark Holo look, they now have a Material design look, and the included code snippets are syntax highlighted etc.

lint-html.png

Data binding: Several editor bugs were fixed, among them the frequently reported problem with functional expressions. The editor parser now handles these properly.

Dual debugger: The Hybrid debugger has been renamed to Dual debugger.

ProGuard version update: We have upgraded the ProGuard version that the Android Plugin for Gradle uses to ProGuard 5.3.2.

SDK Patches: After running into a patching issue with SDK updates, I happy to report that we are now serving patches for the SDK again. Over the coming weeks, we will continue to offer more patches on more components.

As always please let us know if you run into an issue. We are very close to moving this build to our beta channel and would love your feedback on this build.