[go: up one dir, main page]

Release updates archive

Emulator 30.0.15 is now available in the Canary and Dev channels. Changes:
  • We've seen issues running the Windows emulator with Riot Vanguard active. The Windows emulator now detects Vanguard anti-cheat and pops up a warning message if Vanguard is detected.
  • The emulator now prints a warning if unsupported options are passed to -prop (Only qemu.* props are supported).
  • When using the Linux emulator embedded in Studio, we found that if this is done through Chrome Remote Desktop, there is a bug where XDG_RUNTIME_DIR is not set and may cause the embedded emulator to fail to appear due to the emulator discovery files being placed in XDG_RUNTIME_DIR.
  • Emulator icons updated to reflect Studio 4.1 branding.
  • When building the emulator on Windows, there should be less chance of seeing flaky failures to write to files. (Windows build instructions: https://android.googlesource.com/platform/external/qemu/+/refs/heads/emu-master-dev/android/docs/WINDOWS-DEV.md)
  • gRPC endpoint now supports sending SMS to the device.
  • Updated WebRTC libraries to M83.
  • darwinn pipe endpoint has been removed.
  • When hw.gltransport=virtio-gpu-pipe, performance is improved by not spinning on the host in transfers from host to guest.
ARM64 host support
  • Linux emulator source code now supports cross compilation from x86_64 to arm64 hosts, enabling running arm64 system images with KVM virtualization and host side rendering. Currently, only -gpu swiftshader_indirect (Swiftshader arm64 host rendering) is supported, but a compatible set of host GPU libEGL/libGLESv2/libGLESv1_CM libraries may also be used via replacing the libraries in lib64/gles_swiftshader with them and then relaunching with -gpu swiftshader_indirect. Snapshots may also not be working (add -no-snapshot to the command line). Instructions: 
pip install absl-py
pip install urlfetch
sudo apt-get install crossbuild-essential-arm64
 
mkdir emu
cd emu
repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1
repo sync -qcj 12
cd external/qemu

python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64

Android Studio 4.0 is now available in the Stable channel. You can download it here.

For an overview of what's new in this release, see the release notes.


Android Studio 4.1 Canary 10 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.

Updated themes and styles in new project templates

Android Studio templates in the Create New Project dialog now use Material Design Components and updated themes and styles guidance by default.

To learn more, see the release notes.

Prevent new and existing databases from closing

To make it easier to inspect databases in the Database Inspector, you can prevent new and existing connections to your databases from closing by clicking Keep database connections open.

To learn more, see the release notes.

General Fixes

Android Gradle Plugin
  • Issue #154388196: Gradle configuration fails on project with several modules when AGP is applied using plugin management
  • Issue #155318103: Post-tasks variant API: Adding manifest placeholders is broken and breaks the build from AGP 3.x to AGP 4.1.0-alpha08
  • Issue #145944388: Compile error because R.java limit (error: too many constants)
C++ Debugger
  • Issue #120865679: App crash (segfault) when debugging JNI functions with local jstring reference
Code Analysis
  • Issue #155772516: Resource bundle redefinition for plugin 'org.jetbrains.android'. Old value: messages.AndroidBundle
Database Inspector
  • Issue #156131130: The empty database warning does not have the right colors in Dark mode
  • Issue #156134721: Inspector annotator is accessing databases from wrong thread
Databinding Emulator Espresso Recorder Import/Sync
  • Issue #152889824: Support Variant switching without running Gradle (like switching build variants)
  • Issue #150397855: local.properties file generated in buildSrc folder
Layout Editor
  • Issue #139716861: Studio freezes when clicking a Button view in the design surface
New Code/Templates Project Structure
  • Issue #149773516: Migrating Android Studio 3.5 Project to 3.6 rc03 causes Unsupported modules detected error
Project View
  • Issue #150933937: Renaming a dynamic feature module in Android Studio doesn't update the base build.gradle
Resources
  • Issue #142004503: "Remove Unused Resources" for view binding missed method reference syntax (e.g. `LayoutBinding::inflate`)
Search What's New Assistant
For information on new features and changes in all preview builds of Android Studio 4.1, 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 30.0.14 is now available in the Canary and Dev channels. Changes:
  • Added support for hinge sensors for foldable devices. This requires a future R system image and AVD configuration.
  • To make it easier to save vertical screen space, we've added an option to hide the device frame for the current AVD in Extended Controls > Settings. To globally hide device frames for all AVDs, we've made available the NoDeviceFrame feature flag, which can be activated via launching the emulator from the command line with -feature NoDeviceFrame, or to lock it in, adding NoDeviceFrame = on to ~/.android/advancedFeatures.ini (Create this file if it doesn't exist already).
  • Upgraded toolchain / build to C++17.
  • Since our copy of the D3D9 ANGLE renderer was removed a few versions ago, we now also auto switch users who were on that renderer to D3D11 ANGLE if it was selected in the UI preferences.
  • Emulator now correctly reports boot time coming from a device reboot.
  • Embedded emulator: Devices with rounded corners/notches now properly change their layout to make room for the corners/notch. This requires a cold boot of those emulators.
  • Added more debug logging for when OpenGLES emulation fails to initialize.
  • Vulkan: We've reverted back to using the prebuilt loader as favoring the system Vulkan loader caused issues in some setups; will figure out a better solution.

Emulator 30.0.13 is now available in the Canary and Dev channels. Changes:
  • Linux: In the case where there are insufficient KVM permissions, the emulator now prints debugging instructions more promptly.
  • Fixed issue when using Vulkan external memory where it could have allowed mismatching memory type indices on the host on import. More details
  • Fixed issue in emulation of GL_ALIASED_POINT_SIZE_RANGE where the enum was not supported on the host.
  • Fixed issue where the emulator could not boot recent system images with no acceleration.
  • Fixed memory corruption / crash on start from a boot-completed detector.
  • Linux: We now prioritize using the system Vulkan loader (libvulkan.so/libvulkan.so.1) over the packaged Vulkan loader.
    • Warning: This may require you to upgrade your system Vulkan loader if it is older than the packaged one, or the guest may not be able to use Vulkan.
  • Fixed issue where on some host GPUs, Skia shaders could not compile due to errors related to GL_EXT_shader_framebuffer_fetch. The extension should now be properly supported if the host GPU has the extension.
  • Fixed memory leak during long screen recording sessions.

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

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




or if using the android.support packages:

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


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

Examples are available on https://github.com/android/views-widgets-samples/tree/master/ConstraintLayoutExamples

Bugfixes

Here is the list of issues fixed in beta 6. Notable fixes are group visibility handling and derived constraints issues in MotionLayout.

MotionLayout constraintsets don't correctly read match width/height defaults156539907
ImageFilterView & ImageFilterButton fail to set round156420202
Views in ConstraintLayout not honoring "match constraints" (0dp) when used with ViewPager2147202197
NoSuchMethodError: getLayoutDirection()147871163
[MotionLayout] ANR156047801
Group visibility + single view visibility73186245
Group Visibility Does Not Support View.INVISIBLE79307158
ConstraintLayout sometimes ignores visibility changes154533618
ConstraintLayout Group visibility not updated117485026
ConstraintLayout Group - Changing visibility when using INVISIBLE doesn't work correctly130524019
ConstraitLayout Group143163408

Emulator 30.0.12 is now available in all channels. Changes versus previous stable version, 30.0.5:

Embedded emulator

The emulator can now run embedded inside Android Studio. This requires Android Studio 4.1 Canary 8 or later, and needs to be enabled manually via Android Studio's Preferences > Tools > Emulator.

We are excited to introduce this and hope this feature makes the emulator easier to use in the typical developer workflow! If you experience issues, please file feedback in https://issuetracker.google.com/issues?q=componentid:192727.

Some known issues that we will address are:
  • Many Extended Controls UI components are not available
  • Frame rate is lower
  • Emulator image is more aliased
  • Some device form factors are not compatible with the embedded view
Support for host-side video decode (requires future Android R system image)

To save CPU usage and enable playback of higher resolutions and frame rates up to 4k60, the emulator now supports host-side video decode of H264 and VPx through a variety of host-side backends. This requires a future Android R system image release.
  • Windows/Linux: ffmpeg, vpx, NVIDIA CUVID
    • Linux w/ NVIDIA: requires libnvcuvid1, via sudo apt-get install -y libnvcuvid1
  • macOS: ffmpeg, vpx, VideoToolbox
The backend is auto-selected. VideoToolbox and NVIDIA CUVID will take advantage of decode hardware if available, while ffmpeg is the fallback if anything goes wrong or a format not supported.

Enhanced Car AVD Support

We've added experimental car data replay feature for when running Android Auto Embedded system images to the car data page in the extended controls. The feature is flagged off and is called CarVhalReplay. To enable:
  • Launch the emulator from command line with -feature CarVhalReplay
  • Or, add "CarVhalReplay = on" to ~/.android/advancedFeatures.iniMore details
Also, fixed issue in Car AVDs where in the HAL property page, LEFT_FRONT was incorrectly labeled as "Front right".

OpenGL ES
  • GLES translator libraries have been changed to be linked statically. This should very slightly improve binary size and startup time, while having fewer ways to link the wrong GLES libraries.
  • Removed libGLES12Translator as we use an internal GLES1 translator in all cases now for GLES1.
  • eglChooseConfig called with null attrib_list argument now more liberally returns the first config found rather than bailing out.
  • Fixed graphics error when orphaning EGL images in the guest via glTexImage2D.
  • Fixed issue where glTexStorage2D did not work with ASTC compressed texture formats (Requires corresponding change in system image (Android R DP3+))
Vulkan
  • Addressed a possible race condition with some versions of Vulkan loaders when creating many VkDevices/VkInstances in parallel.
  • Fixed a possible crash on guest process cleanup.
  • Worked around issue that occurs on Windows NVIDIA GPUs when creating/destroying VkPipelineLayouts in multiple threads.
  • Fixed issue where Vulkan external semaphore type OPAQUE_FD (from the guest) was not working on Windows hosts.

Other changes versus previous stable version, 30.0.5
  • Removed "Screenshot failed to find cb 0" messages.
  • Fixed possible memory corruption on Linux / macOS due to a path that used select() and did not check FD_SETSIZE limit.
  • On Linux, instructions to enable KVM if permission is denied should print more visibly now.
  • Fixed possible issue in Linux embedded emulator where the advertisement file might have been written to the wrong location.
  • Windows: Fixed a hang on AMD machines with AMD Hypervisor. This will require downloading and installing the latest Android Emulator Hypervisor for AMD Processors (v 1.5).
  • Removed prints about certs and GRPC on startup.
  • Fixed hang on starting Windows emulator that happened right after the boot animation.
  • Added support for vendor boot images (emulator side).
  • Upgraded protobuf version to 3.11.4.
  • Fixed kernel version parsing issue when running aarch64 guest kernels.
  • Metrics are now tracked for extended window usage.
  • macOS
    • macOS emulator no longer disables App Nap. If also run with -no-audio, the emulator should now stop from preventing sleep on macOS.
    • Relaxed logical core requirement to 6 from 8 on macOS so more users can run images with multiple vCPUs.
  • We now detect 3rd party graphics driver hooks that have been observed in crash reports, and alert the user if any were involved in the crashing stack trace.
PSA: If emulator not starting on Windows, look for and uninstall Riot Vanguard
Users on Reddit pointed out interference between Riot Vanguard and the emulator, leading to a possible failure to start the emulator:

https://www.reddit.com/r/androiddev/comments/gdr6pj/android_studio_emulator_killed_by_riot_vanguard/


We recommend uninstalling Vanguard.

Open a command prompt with admin privileges:

sc delete vgc
sc delete vgk


Reboot your machine, then uninstall Vanguard normally for good measure.


Android Studio 4.0 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.

General fixes

This update also includes fixes for the following public issues:

Android Gradle Plugin
  • Issue #154218507: Desugaring is disabled when dexing library code in shrunk library
  • Issue #154145638: Use correct minSdkVersion when fetching desugar_lib_dex from transform
Shrinker (R8)
  • Issue #153858923: R8 2.0.65 wrongly change classes to abstract
  • Issue #154531810: ClassCastException after updating to R8 2.0.59 (Android Gradle plugin 4.0.0-beta04)
  • Issue #153514654: VerifyError on dalvik with code catching ErrornoException
  • Issue #154315490: "R8: NullPointerException during IR Conversion" with gradle plugin 3.6.2
  • Issue #132828740: During evaluation of conditional if rules, dependent items are enqueued for un-met preconditions


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.

Changes:
  • Fixed possible memory corruption on Linux / macOS due to a path that used select() and did not check FD_SETSIZE limit.
  • On Linux, instructions to enable KVM if permission is denied should print more visibly now.
  • Removed "Screenshot failed to find cb 0" messages.
  • Addressed a possible race condition with some versions of Vulkan loaders when creating many VkDevice/VkInstances in parallel.
PSA: If emulator not starting on Windows, look for and uninstall Riot Vanguard

Users on Reddit pointed out interference between Riot Vanguard and the emulator, leading to a possible failure to start the emulator:

https://www.reddit.com/r/androiddev/comments/gdr6pj/android_studio_emulator_killed_by_riot_vanguard/

We recommend uninstalling Vanguard.

Open a command prompt with admin privileges:

sc delete vgc
sc delete vgk


Reboot your machine, then uninstall Vanguard normally for good measure.

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

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




or if using the android.support packages:

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


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

Examples are available on https://github.com/android/views-widgets-samples/tree/master/ConstraintLayoutExamples


Bugfixes


We fixed several issues in beta 5 -- upgrade from previous versions is encouraged, specifically when using MotionLayout.


[2.0.0-beta4] First tap lost in a scrolling view contained in a MotionLayout146413738
ConstraintLayout Group - Changing visibility when using INVISIBLE doesn't work correctly130524019
[MotionLayout] - NestedScrollView + RecyclerView + variable size header on click138035155
[MotionLayout] does not expand to wrap content inside RecyclerView item138312805
MotionLayout drag doesn't work after fling in RecyclerView141319444
Flow : Set only vertical style, but applied both vertical and horizontal style141809028
CustomView as part of a CollapsibleToolbar (MotionLayout) extends beyond it's bounds when scrolling up143971662
Flow doesn't handle gaps correctly with wrapMode=chain144298723
MotionLayout packed horizontal chain style does not work for RTL locales144301446
Incorrect behavior with GONE views used in Flow helper144388675
Percentage Constraint not working properly in Constraint Flow Layout144667391
Constraint Flow layout rows are getting overlapped144668321
Problem with chained widgets144987885
deriveConstraintsFrom doesn't seem to derive custom attributes145977578
[2.0.0-beta04] layout_constraintVertical_bias is 0.5 like 1146591537
ConstraintLayout 1.1 bug or undocumented change77991323
MotionLayout: View shakes after list scroll126123628
Changing visibility not redrawing layout127623474
NPE on tap when scene not assigned137286955
MotionLayout set Transition Listener139481711
layout_constraintDimensionRatio stays applied after a move to another ConstraintSet in MotionLayout140263105
touchRegionId doesn't work properly for Motion Layout142498322
[ConstraintLayout 2.0.0-beta-2] MotionLayout: Calling transitionToState too quickly results in MotionLayout getting into a bad state142698005
Nested MotionLayout gets stuck on scroll even with motion:143501796
MotionLayout visibilityMode="ignore" doesn't work with deriveConstraintsFrom144795175
Padding start/end/vertical/horizontal not working in Constraint Layout Flow146265835
setTransition(id) method request146537011
The Layout deforms by itself.146794818
CL 2.0 beta 4 chain biases and gone views146920079
Flow elevation problem148483377


Android Studio 4.1 Canary 9 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.

Improvements from IntelliJ IDEA 2020.1

The core Android Studio IDE is based on IntelliJ IDEA. In this release, we have begun incorporating improvements from IntelliJ 2020.1, which we will continue in upcoming canary releases. This is a work in progress, and we welcome any feedback.

IDE configuration directory changes

In this release, the locations for user configuration directories have been changed, consistent with recent updates to IntelliJ IDEA, the IDE on which Android Studio is based.

For more information, please see the release notes.

Missing Kotlin plugin

In Canary 9, you may see the following error when first launching Android Studio after upgrading:

missing essential plugin org.jetbrains.android

This can happen when you import your settings from a previous version of Android Studio. Typically, this means you have a locally installed Kotlin plugin that is not compatible with the new IDE.

For a workaround, please see the release notes.


General Fixes

Build Variants
  • Issue #153476414: Exception thrown when trying to run/configure a release build
Data Binding Database Inspector Debugger Dexer (D8)
  • Issue #154315491: AGP 4.x build fails with exception in L8DexDesugarLibTask configuration
Lint
  • Issue #37133950: new Lint check: calling the same super function more than once
SDK Manager
  • Issue #150942306: Command-line sdkmanager needs better error if root dir can't be found
  • Issue #150943631: sdk manager should be smarter about deriving package path
  • Issue #150944411: Package A shouldn't overwrite package B if B is incorrectly in A's location
  • Issue #150946939: cmdline-tools top-level directory shouldn't be called "tools"
  • Issue #62063562: Add --installed option to sdkmanager --list
  • Issue #137389944: CLI does not respect TERM=dumb
  • Issue #69461360: Usability issue: subcommand and/or quotes around package name for clarity
  • Issue #37130052: sdkmanager --package_file= command isn't whitespace tolerant
  • Issue #152120283: sdkmanager from cmdlinetools fails with unhelpful exception when --sdk_root supplied
  • Issue #37130079: sdkmanager --update doesn't output anything to stdout
Tools Windows
  • Issue #154298380: Android command-line tools seems to be 6200805 broken on Windows
View Binding
For information on new features and changes in all preview builds of Android Studio 4.1, 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.

Embedded emulator
  • The emulator can now run embedded inside Android Studio. This requires Android Studio 4.1 Canary 8 or later, and needs to be enabled manually via Android Studio's Preferences > Tools > Emulator.
  • We are excited to introduce this and hope this feature makes the emulator easier to use in the typical developer workflow!
  • If you experience issues, please file feedback in https://issuetracker.google.com/issues?q=componentid:192727. Some known issues that we will address are:
    • Extended Controls UI components are not available
    • Frame rate is lower
    • Emulator image is more aliased
    • Some device form factors are not compatible with the embedded view
Other changes
  • We now detect 3rd party graphics driver hooks that have been observed in crash reports, and alert the user if any were involved in the crashing stack trace.
  • Fixed graphics error when orphaning EGL images in the guest via glTexImage2D.
  • Vulkan: Fixed a possible crash on guest process cleanup.
  • Fixed possible issue in Linux embedded emulator where the advertisement file might have been written to the wrong location.
  • Fixed a hang on AMD machines with AMD Hypervisor. This will require downloading and installing the latest Android Emulator Hypervisor for AMD Processors (v 1.5).