[go: up one dir, main page]

Release updates archive


Android Studio 4.0 Canary 7 is now available in the Canary and Dev channels.

If you have Android Studio set to receive updates on the Canary or Dev channel, you can get the update by choosing Help > Check for Updates (Android Studio > Check for Updates on macOS). Otherwise, you can download it here.

CPU Profiler UI Upgrades

Based on your feedback, the CPU Profiler UI has been overhauled to provide a more intuitive workflow, with new customization options and an updated layout.

For more information, see the release notes.

Profilers and Live Layout Inspector fixed

Starting with Android Studio 4.0 Canary 5, the Live Layout Inspector and the Profilers did not function correctly on Windows, causing the following error message:
transfer error: couldn't create file: Read-only file system.

To fix this issue, upgrade to Android Studio 4.0 Canary 7 or higher.

General fixes

This update includes fixes for the following public issues:
Bundletool Core IDE
  • Issue #144939147: New Vector Asset / Image Asset places drawables in the wrong folder when using multiple resource directories in a sourceSet
Data Binding Gradle
  • Issue #145770669: Disabling android.defaults.buildfeatures.aidl and renderscript breaks lint task
  • Issue #119135578: Find a way to determine whether a third-party library should be jetified
  • Issue #146205003: Instant execution - DexArchiveBuilderTask task loading
  • Issue #134858541: App is not signed with v1 scheme when using minSDK 24, even when enabled explicitly
  • Issue #142242084: assembleDebug fails with FileNotFoundException on AS 3.6 Canary 12
  • Issue #140747218: Improve error messages for exceptions thrown from Jetifier
  • Issue #145683928: LintPlugin creates tasks in a non lazy way
Layout Editor Lint
  • Issue #145687664: Analyze -> Inspect Code -> Lint -> Remove all unused resources | strips an androidx.navigation file of its ids
Motion Editor New Project Wizard
  • Issue #146252332: Bug: new project wizard always puts the new project into last opened path, instead of last creation path
  • Issue #146413736: Empty icons in new activity wizard (4.0 C6)
Project Structure Dialog Resultstore
  • Issue #145950498: BEP upload failed: UNAVAILABLE: UNAVAILABLE: Policy checks are unavailable
Shrinker (R8) Templates View Binding
  • Issue #142739020: Enabling ViewBinding breaks gradle configuration of com.android.test plugin

For information on new features and changes in all preview builds of Android Studio 4.0, see the Android Studio Preview release notes. For details of bugs fixed in each preview release, see previous entries on this blog.

We greatly appreciate your bug reports, which help us to make Android Studio better. If you encounter a problem, let us know by reporting a bug. Note that you can also vote for an existing issue to indicate that you are also affected by it.

AMD Hypervisor 1.3 is now available in all channels. Please follow the instructions in this post to ensure 1.3 is installed: https://androidstudio.googleblog.com/2019/12/emulator-29211-and-amd-hypervisor-12-to.html. The change:
  • Fixed issue where VirtualBox could not run at the same time.

Emulator 29.3.2 is now available in all channels. Changes relative to previous stable version, 29.3.0:
  • Fixed issue on some Windows systems where the emulator would fail to launch if a MSVC++ redistributable was not installed.
  • Fixed issue where the Import GPX/KML button would be grayed out in the Google Maps UI on Windows.
  • The emulator now ships its own internal ADB client, no longer needing to call a separate process to talk to the device.
  • Fixed issue where if a power off command (from inside the guest) was issued in -no-window mode, the emulator wouldn't actually quit.

Emulator 29.3.2 is now available in the Canary channel. Changes:
  • Fixed issue on some Windows systems where the emulator would fail to launch if a MSVC++ redistributable was not installed.
  • Fixed issue on Windows where the Import GPX/KML button would be grayed out in the Google Maps UI.
  • The emulator now ships its own internal adb client, no longer needing to call a separate process to talk to the guest.


Android Studio 3.6 Release Candidate 1 is now available in the Beta channel.

If you have Android Studio set up to receive updates on the Beta channel, you can get the update by choosing Help > Check for Updates (Android Studio > Check for Updates on macOS). Otherwise, you can download it here.

New option for optimizing Gradle sync time

To improve Gradle Sync performance, go to File > Settings > Experimental and select Do not build Gradle task list during Gradle sync. When you enable this option, Android Studio skips building the task list during sync, which allows Gradle Sync to complete faster and improves UI responsiveness.

To learn more, see the release notes.


General fixes

This update also includes fixes for the following public issues:
Core IDE
  • Issue #144668812: Importing SVG file with a style combination creates incorrect vector drawable
Data Binding
  • Issue #144788290: Changes to data binding layouts are not processed by the IDE
Design Tools Gradle
  • Issue #143375935: AS 4.0 Canary 1 - INSTALL_FAILED_NOT_APK
  • Issue #144896521: Update AGP 3.6 to Gradle 5.6.4
  • Issue #143762955: AGP 3.6.0 beta01 - Runtime "NoClassDefFoundError" for R resources during JVM unit test without R8 turned on
  • Issue #144249620: Calling registerJavaGeneratingTask with only kotlin sources in a kotlin-only project triggers javac with no sources
Jetifier Resource Manager
  • Issue #144443057: Select resource (Pick a resource dialog) displays hidden files too (named with prefix .)
View Binding

For information on new features and changes in all preview builds of Android Studio 3.6, see the Android Studio Preview release notes. For details of bugs fixed in each preview release, see previous entries on this blog.

We greatly appreciate your bug reports, which help us to make Android Studio better. If you encounter a problem, let us know by reporting a bug. Note that you can also vote for an existing issue to indicate that you are also affected by it.

We are happy to announce the release of ConstraintLayout 2.0 beta 4. 

It’s available from the google maven repository:
dependencies {
    implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta4'
}




or if using the android.support packages:

dependencies {
    implementation 'com.android.support.constraint:constraint-layout:2.0.0-beta4'
}


Documentation is available on https://developer.android.com/reference/androidx/constraintlayout/widget/ConstraintLayout

Examples are available on https://github.com/googlesamples/android-ConstraintLayoutExamples

MotionLayout

- new attributes in Transition:

  • layoutDuringTransition : let you configure how MotionLayout should react to children's requestLayouts calls during a transition. Possible values are {ignoreRequest, honorRequest}
  • pathMotionArc : the path taken by elements moving will use an arc. Possible values are {startVertical | startHorizontal | flip | none }

- A default transition is now possible to define, simply by omitting the start and end ConstraintSets. That default transition will be used if no other existing transition can be found to match the current start/end states.

Bugfixes


We fixed several issues in beta 4 -- upgrade from previous versions is highly encouraged.


Incorrect measuring dimensionRatio117087368
[ConstraintLayout 2.0.0-beta2] Regression in scrolling RecyclerView into collapsing header135430899
Regression regarding minHeight property135828272
rotation issue136131642
MotionLayout breaks if there are no Transitions defined137310456
Incorrect rendering of views constrained towards a Barrier143273709
Bug: ConstraintLayout barrier not shown on the IDE143411144
[ConstraintLayout 2.0.0-beta3] Scrolling RecyclerView into collapsing header starts transition before reaching the top143595002
Helpers aren't showing in Android Studio144702154
ConstraintLayout - View Disappearing / Wrong Behaviour on a Transition110314365
2.0.0 Alpha 4 not respecting margins.130060979
When onTouchUp is set to decelerate the transition snaps to the end132325328
Setting layout_constrainedHeight leads to incorrect view's width.138733070
Static width & height ratio constraint results in wrong dimensions with 2.0.0-beta3143967392
dimension percent with only one constraint collapse when = 1144701789
Broken layout when the view is gone with spread_inside chain style145768215
3 issues found in alpha5131613288
[MotionLayout] onClick and onSwipe on the same view combination doesn't work136600128
Disable Transition138814831
NoSuchMethodException (setFabBackgroundTint, setFabTint) in MotionLayout139535302
Disabling transition not working143026544
Views get incorrectly wrapped in 2.0.0-beta3143373429
[MotionLayout] Add API to temporarily disable touch event handling144150451
MotionLayout onClick transition being override by swipe transition state144943459
Flow Design View Broken in when using ConstraintLayout 2.0.0-beta3 with AS 4.0-alpha04145511664

Emulator 29.3.1 is now available in the Canary channel. Change:
  • Fixed issue where if a power off command (from inside the guest) was issued in -no-window mode, the emulator wouldn't actually quit.

Emulator 29.3.0 is now available in all channels. Change relative to previous stable version (29.2.12):
  • We mistakenly defaulted to the host gpu when using -no-window (regression). This is fixed now (-no-window defaults to using Swiftshader).


Android Studio 4.0 Canary 6 is now available in the Canary and Dev channels.

If you have Android Studio set to receive updates on the Canary or Dev channel, you can get the update by choosing Help > Check for Updates (Android Studio > Check for Updates on macOS). Otherwise, you can download it here.

General fixes

This update includes fixes for the following public issues:
ConstraintLayout
  • Issue #145593798: [ConstraintLayout 2.0.0-beta1] Regression in multi-module support for MotionLayout scene detection
Core IDE Design Tools Gradle
  • Issue #143762955: AGP 3.6.0 beta01 - Runtime "NoClassDefFoundError" for R resources during JVM unit test without R8 turned on
SDK Manager Shrinker (R8)
For information on new features and changes in all preview builds of Android Studio 4.0, see the Android Studio Preview release notes. For details of bugs fixed in each preview release, see previous entries on this blog.

We greatly appreciate your bug reports, which help us to make Android Studio better. If you encounter a problem, let us know by reporting a bug. Note that you can also vote for an existing issue to indicate that you are also affected by it.

Emulator 29.3.0 is now available in the Canary and Dev channels. Change:
  • We mistakenly defaulted to the host gpu when using -no-window (regression). This is fixed now (-no-window defaults to using Swiftshader).

Emulator 29.2.12 is now available in all channels. It enables a new feature, Google Maps UI. This is meant for app developers who develop apps that interface with device location. Google Maps UI makes it easier to specify locations and also to construct routes from pairs of locations, by leveraging the Google Maps API.

Google Maps UI

Extended Controls > Location now includes an integrated Google Maps view, along with a point selector and route generator. Individual points can be saved and re-sent to the device as the virtual location, while routes can be generated through typing in addresses or clicking two points. Each route can be replayed; locations along the route are sent in real time to the guest OS.


Changes relative to previous stable version (29.2.11):
  • Improved emulator performance when using the camera; camera frames are now delivered on a separate thread from the vCPU thread. In particular, ADB and other services like graphics are no longer bottlenecked while the camera is active.
  • (Requires future system image update) Improved virtual camera frame upload performance itself via host coherent memory backing.
  • Removed unused metrics reporting.
  • Removed unused APIs from AMD Hypervisor backend.

Emulator 29.2.12 is now available in the Canary channel. Changes:
  • Improved emulator performance when using the camera; camera frames are now delivered on a separate thread from the vCPU thread. In particular, ADB and other services like graphics are no longer bottlenecked while the camera is active.
  • (Requires future system image update) Improved virtual camera frame upload performance itself via host coherent memory backing.
  • Removed unused metrics reporting.
  • Removed unused APIs from AMD Hypervisor backend.

Android Studio 3.5.3 is now available in the Stable channel.

If you already have an Android Studio build on the Stable channel, you can get the update by clicking Help > Check for Update (Android Studio > Check for Updates on macOS). Otherwise, you can download here.

This minor release improves stability and performance, and includes various bug fixes.

For information on new features and changes in all releases of Android Studio, see the Android Studio release notes.

We greatly appreciate your bug reports, which help us to make Android Studio better. If you encounter a problem, let us know by reporting a bug. Note that you can also vote for an existing issue to indicate that you are also affected by it.


Android Studio 4.0 Canary 5 is now available in the Canary and Dev channels.

If you have Android Studio set to receive updates on the Canary or Dev channel, you can get the update by choosing Help > Check for Updates (Android Studio > Check for Updates on macOS). Otherwise, you can download it here.

New Android Gradle plugin options for build features



Android Gradle plugin 4.0.0-alpha05 introduces a new way to control which build features you want to enable and disable, such as View Binding, Data Binding, and Jetpack Compose. When new features are added, they will be disabled, by default. You can then use the buildFeatures block to enable only the features you want, and it helps you optimize the build performance for your project.

To learn more, see the release notes.

Known Issues

Patches Not Available for Canary 5

No patches for Android Studio 4.0 Canary 5 are available for previously released Android Studio 4.0 Canary versions. To install Android Studio 4.0 Canary 5, please download it from the Android Studio downloads page.

Layout Inspector in Canary 5

In Android Studio 4.0 Canary 5, the Layout Inspector does not function correctly.

General fixes

This update includes fixes for the following public issues:
App Development
  • Issue #37123156: aapt_rules.txt should specific explicitly used constructor instead of argument wildcard.
Build
  • Issue #139782877: Native builds compile all architectures now instead of just the one needed for the target device
Core IDE
  • Issue #144668812: Importing SVG file with a style combination creates incorrect vector drawable
Data Binding
  • Issue #144788290: Changes to data binding layouts are not processed by the IDE
  • Issue #141936603: Auto-complete for data binding includes classes not known/visible to the current module
  • Issue #144527914: Unresolved reference for inner class when using an <import alias="..."/>
  • Issue #123427765: Binding expression not supported VectorDrawableCompat.
  • Issue #144246528: DataBinding is occurs NullPointerException if there are two LiveData flags when only one of them has initial value
  • Issue #142405164: DataBinding variable cannot use java.lang.Void in AGP 3.6
Deployment
  • Issue #144109935: Android Studio 4 Canary does noting on Run->Run
  • Issue #144443063: Run button is always disabled after running configuration with another configuration
Design Tools Gradle Jetifier Layout Editor
  • Issue #124231532: Property Panel stays empty after adding a recycler view for the first time
Navigation Editor
  • Issue #142491178: Visual bug while using the design view of the navigation graph.
New Project Wizard
  • Issue #144443773: Creating a project with an apostrophe in the human readable name makes compilation fail
Project System
  • Issue #143291278: Creating a new Module edits settings.gradle even if settings.gradle.kts is present
Resource Manager
  • Issue #144443057: Select resource (Pick a resource dialog) displays hidden files too (named with prefix .)
Run Debug View Binding
  • Issue #143160165: View Binding will cause the code to expose / leak the IDs or names of the Views after doing ProGurad or R8
  • Issue #143807078: dataBindingGenBaseClassesDebug task fails with "part 'layer-list' is keyword"

For information on new features and changes in all preview builds of Android Studio 4.0, see the Android Studio Preview release notes. For details of bugs fixed in each preview release, see previous entries on this blog.

We greatly appreciate your bug reports, which help us to make Android Studio better. If you encounter a problem, let us know by reporting a bug. Note that you can also vote for an existing issue to indicate that you are also affected by it.


Android Studio 3.6 Beta 5 is now available in the Beta channel.

If you have Android Studio set up to receive updates on the Beta channel, you can get the update by choosing Help > Check for Updates (Android Studio > Check for Updates on macOS). Otherwise, you can download it here.

General fixes

This update also includes fixes for the following public issues:
Design Tools Gradle Resource Manager
  • Issue #143833199: File>New>Vector Asset: Error messages half hidden and non-helpful.
View Binding
  • Issue #142597725: Add autocomplete support for tools:ignoreViewBinding
  • Issue #142742308: Having <fragment> tag as root of layout file generates ViewBinding that does not compile


For information on new features and changes in all preview builds of Android Studio 3.6, see the Android Studio Preview release notes. For details of bugs fixed in each preview release, see previous entries on this blog.

We greatly appreciate your bug reports, which help us to make Android Studio better. If you encounter a problem, let us know by reporting a bug. Note that you can also vote for an existing issue to indicate that you are also affected by it.

Emulator 29.2.11 and AMD Hypervisor 1.2 are now available in all channels. Major changes:
  • Via AMD Hypervisor, we added support for running the emulator on AMD CPUs on Windows:
    • With CPU acceleration
    • Without requiring Hyper-V
    • With speed on par with HAXM
    • Without requiring Windows 10
    • Note that currently, this requires manual install steps, but we plan to remove the need for manual install in a future Studio version.
  • The Windows build, instead of being cross-compiled on Linux via MinGW, is now built natively with Visual Studio and Windows SDK.
  • Many other fixes and improvements to the emulator itself.
  • Since the last stable version, we've launched the Container Scripts, which makes it easier to run the emulator in a CI environment via Docker.
In the following sections, we present the AMD Hypervisor and list all other notable changes relative to the previous stable version.

AMD Hypervisor for Windows users on AMD CPUs

Currently, Windows Hypervisor Platform (WHPX) is required to run the emulator on AMD CPUs on Windows. However, there are compatibility and performance issues. To address this, since emulator 29.2.3, we've added a new hypervisor backend + driver, based on KVM, that allows you to run the emulator on Windows with AMD CPUs with compatibility and performance that should be on par with HAXM.

This is meant for AMD users on Windows who want a faster AVD experience on par with HAXM, or cannot run with Hyper-V / WHPX enabled (e.g., running other virtual machine engines such as VMware/VirtualBox or not running Windows 10; however, note that we are still committed to WHPX / Hyper-V for the use cases where that is optimal, such as interop with Docker on Windows).

The implementation is developed by our team and based on Linux KVM. The code has been open sourced and is available on GitHub here: https://github.com/google/android-emulator-hypervisor-driver-for-amd-processors

AMD Hypervisor for Windows users on AMD CPUs - Install Instructions

Follow the instructions below to enable the AMD Hypervisor for faster Android Emulator on AMD CPUs on Windows. Note that in a future Studio 4.0 release, these instructions will be automatically run as part of the SDK Manager update and become obsolete.

First, make sure your AMD CPU supports virtualization and BIOS has NOT disabled it. As BIOS options are different among vendors, please refer to your system manufacturer's manual.

Next, make sure Hyper-V and Windows Hypervisor Platform are disabled. All Windows features enabling Hyper-V either explicitly or silently must be turned off. See the screenshots below for a few examples:




Then, launch SDK Manager via Android Studio and you should see “Android Emulator Hypervisor Driver for AMD Processors”. Check and click “Apply”. The SDK Manager will download the installer package and unpack it to <Your Android SDK Path>\extras\google\Android_Emulator_Hypervisor_Driver.




Open a Windows command console with administrator privilege, go to <Your Android SDK Path>\extras\google\Android_Emulator_Hypervisor_Driver, and run the following command silent_install.bat. Make sure you see the desired output from the installer: STATE: 4 RUNNING




If something goes wrong, please reach us or file a bug. Make sure to submit your CPU model, OS version info, and installer output.

AMD Hypervisor for Windows users on AMD CPUs - Known Issues
Emulator 29.2.11 changes relative to previous stable version

Snapshots
  • Fixed an issue when running the Windows emulator on AMD CPUs (with either Windows Hypervisor Platform or the AMD Hypervisor) where when resuming from a snapshot from the AVD Manager in Studio, the emulator would show up as offline.
  • Snapshots now should work again with users who are running on Windows Hypervisor Platform.
  • Quickboot snapshots now work again for ARM system images.
  • Snapshots (incl. Quickboot) can now be taken in -no-window mode and resumed with a window, and vice versa.
  • Windows: Fixed issue where VCPU shutdown request would occur if loading snapshots while the emulator is running.
UI / Input
  • Removed some spammy log prints.
  • Fold/unfold button now works more reliably.
  • Linux: Fixed Alt key not working on non-QWERTY layouts.
  • Fixed issue where virtual scene camera WASDQE controls did not work with non-QWERTY layouts.
  • Keycode forwarding: We now maintain a mapping of host keyboard type to Android keyboard type, and only forward host keycodes when both the host and Android keyboard type can be determined and correctly mapped (An upcoming suitable system image is still required).
  • Ctrl-Shift-M can now be used to bring up the Multi Display UI.
  • Fixed issues with emulator window size not updating.
  • Tweaked button sizes, colors, font size of titles, and positions of icons.
  • Fixed issue where usage metrics were not sent.
Headless build
  • The binary emulator-headless is now retired. Headless builds of the engine are now launched via emulator -no-window, thus unifying the previously separate (but similar) paths.
  • 32-bit ARM headless build (qemu-system-armel-headless) is now included with the distribution.
  • Fixed issue around crash service not being able to start in -no-window mode.
Console interface
  • Added interface to screenshot to a particular PNG file instead of one with an autogenerated filename. Usage:
    • adb emu screenrecord screenshot customFileName.png
  • Added a command line option to start a screen recording along with the emulator launch:
    • Format: -record-session <filename>,<delay-until-start>,<duration>
    • Example: -record-session tmp.webm,5,10
  • Added telnet console interface to query whether the emulator is running headless or not, via adb emu avd windowtype.
Graphics
  • (Requires future system image update)
    • Fixed issue where Unity Vulkan examples would not work out of the box.
    • Improved performance of glMapBufferRange and glUnmapBuffer
    • Greatly improved performance when OpenGL ES draw calls are issued at a high rate.
    • Added new AVD config.ini property, hw.lcd.vsync (default 60), which, given an upcoming suitable system image build, will allow the guest's VSYNC rate to be controlled by the AVD configuration. This can be useful for testing apps on high frame rate (HFR) displays.
      • Note that in order to be able to see the visual effect of higher VSYNC rates, a monitor with refresh rate greater than or equal to the setting is required.
  • Fixed potential deadlocks related to gralloc buffer destruction.
  • Fixed issue on API 22 system images where if using the swiftshader_indirect renderer, black frames would result on video playback.
  • Vulkan driver changes
    • ASTC LDR compressed textures are now supported via emulation if not supported on the host GPU (textureCompressionASTC_LDR).
    • Removed support for 1D compressed textures (this is not a use case that is commonly considered).
General Fixes / Improvements
  • Fixed a division by 0 crash in some areas of the UI code.
  • libfontconfig is now bundled with the Linux emulator.
  • Stopped doing some adb commands right on emulator startup as it seems to corrupt state and cause hangs (instead, delaying them until after boot complete).
  • Updated crash reporting libraries.
  • Fixed issue where LD_PRELOAD was clobbered by the Linux emulator.
  • Fixed various possible crashes on exit.
  • Fixed potential issues with ADB APK installer / file pusher UI code not running on the UI thread.
  • Wear AVDs now default to using the AC charger.
  • For API < 16, we now force host side rendering (either with host GPU or Swiftshader). This should resolve issues with black screens on these images.
  • Fixed issue when emulator would get stuck closing if a gRPC endpoint was created.
  • Whenever the emulator has a fatal abort message, we now print in the console in addition to generating the crash report dialog. This should make such events more visible.
  • Fixed freezes related to the battery page.
  • Speculative fix landed for a potential hang that has to do with ADB. If you notice the emulator taking a long time to respond on a cold boot, try force killing the ADB process.