[go: up one dir, main page]

Release updates archive


Android Studio 4.2 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.
For information on new features and changes in all preview builds of Android Studio 4.2, 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.

General Fixes

Android Gradle Plugin Deployment Third Party Plugins

Additionally the issue below was addressed in this release but may not necessarily be fixed:

Import/Sync

We are happy to announce the release candidate of ConstraintLayout 2.0. As this might be the final release before stable, we encourage people to try it and report any issues with their projects!

ConstraintLayout 2.0 adds a long list of capabilities to v1, from better runtime API to build up layouts to the introduction of new layout mechanisms such as Flow, or additional helpers like Layer.

Most notably though, this release introduces MotionLayout, an extremely powerful subclass of ConstraintLayout that you can use to easily create refined motion in your application.

In addition to the existing Layout Editor in Android Studio, allowing easy creation and edition of UI with ConstraintLayout, we recently added a new Motion Editor in Android Studio 4.0, enabling you to quickly take advantage of MotionLayout in your projects.

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




or if using the android.support packages:

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


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 rc1. Notable fixes are:
  • Flow fixes
  • RecyclerView fixes (we recommend to update to recyclerview 1.2.0 alpha 5 or later)
  • MotionLayout TransitionListener fixes
  • MotionLayout memory leak fix
layout_constrainedWidth doesn't not work in Flow's children157681357
NPE 's in Flow162261507
layout_constraintDimensionRatio stays applied after a move to another ConstraintSet in MotionLayout140263105
MotionLayout drag doesn't work after fling in RecyclerView141319444
[ConstraintLayout 2.0.0-beta3] NPE when deriveConstraintsFrom is invalid.143549617
apply layout_height="wrap_content" app:layout_constrainedHeight="true" this view height is full of constraint size when onCreat . And Then swich the view GONE/VISIBLE , the size change to the expected result149427470
Flow height is bigger than it should be when its height is `wrap_content`158285666
NullPointerException161061411
Penultimate ImageView shifted when adding more rows161063291
single element in the chain don't have bias applied161741571
MotionLayout : adding views to Flow Helper150940641
Resize in textview when I scroll in customized MotionLayout155215198
MotionLayout firing callback endlessly with GlobalLayout158068868
[Feature-Request] Addition of MotionScene.Transistion::getId.160395303
Incorrect barrier and referenced view placement in 2.0.0-beta8161156064
layout_width="wrap_content" on the parent does not work correctly when a child View has layout_constraintDimensionRatio and layout_constraintHeight_percent in 2.0.0-beta8161826272
possible MotionLayout memory leak161926837
Annotate ConstraintLayout constructor context param as not nullable161926849
Android resource compilation failed after implementation 'constraint-layout:2.0.0-beta8'162011618


Android Studio 4.2 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.
For information on new features and changes in all preview builds of Android Studio 4.2, 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.

New JVM resource compiler

A new JVM resource compiler is now available in Android Gradle plugin 4.2. This tool replaces portions of the AAPT2 resource compiler, and can potentially improve build performance, especially on Windows machines.

To try out the JVM resource compiler, enable it in your project's gradle.properties file:
android.enableJvmResourceCompiler=true

New removable setting for dynamic feature modules

Android Gradle plugin 4.2 uses bundletool 1.0.0, which introduces a behavior change for apps using dynamic feature modules: Any dynamic feature module specified as dist:install-time that's not explicitly marked as dist:removable will become non-removable by default. This new setting optimizes fusing of install-time modules with the base module, potentially improving app performance for some apps.

For more information on this new setting, see the documentation for the dist:removable tag in the documentation for Dynamic feature module manifest.

General Fixes

Android Gradle Plugin
  • Issue #160155450: BuildConfig not correctly honoring contract around quotations in String[]
  • Issue #157590496: Make the order of entries in APKs deterministic for clean debug builds, unless building from AS
Layout Inspector Lint
Build Variants
  • Issue #160851593: Build Variants for dynamic feature modules don't switch when app's build variant is switched
Testing Upgrade Assistant
  • Issue #139769779: Dialog for recommendation about "Android Gradle Plugin Update" shows up in the wrong Android Studio Window

Additionally the below issues were addressed in this release but may not necessarily be fixed:

Build Variants
  • Issue #160851593: Build Variants for dynamic feature modules don't switch when app's build variant is switched
Testing Upgrade Assistant
  • Issue #139769779: Dialog for recommendation about "Android Gradle Plugin Update" shows up in the wrong Android Studio Window


Emulator 30.0.23 is now available in the Canary and Dev channels. 

General fixes available in this release:
  • Fixed hang-on-exit when emulator issues shell commands with long/indefinite timeouts.
  • Removed spam about flushing mapped buffer with NULL.
  • Vulkan ASTC/ETC2 emulation shaders are now baked into the libOpenglRender library.


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

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.

General Fixes


Android Gradle Plugin
  • 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 #160714171: ProductFlavor collections/maps are now immutable in AGP 4.1.0
  • Issue #156837289: Data Binding errors are lost with kapt
  • Issue #159878591: False positive lint check: "non-constant resource ID should not be used as annotation attribute"
Layout Editor Layout Inspector Lint
  • Issue #155088391: Can no longer specify layout_height and layout_width in a style


Android Studio 4.2 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.
For information on new features and changes in all preview builds of Android Studio 4.2, 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.

General Fixes

Android Gradle Plugin
  • Issue #160155450: BuildConfig not correctly honoring contract around quotations in String[]
  • Issue #158747359: ./gradlew connectedCheck fails with "com.android.ddmlib.InstallException: Unknown failure: Error: Unknown option: -g"
  • Issue #160330055: GradleAnalyticsEnvironment leaks ProviderFactory
  • Issue #157781501: Android gradle plugin fails to generate test coverage report with Gradle 6.4.1
  • Issue #159871229: Debug build causes duplicate definitions for desugared library classes
  • Issue #146163513: Configuration caching - connectedAndroidTest task state cannot be serialized
  • Issue #112699321: Support APK Signature Scheme v3
  • Issue #159685888: Merge java resource error message is not very useful
  • Issue #159434426: applicationIdSuffix cannot be empty
C++ Build
  • Issue #159411906: externalNativeBuildClean runs preBuild also when using AGP 4.0.0
Database Inspector Import/Sync
  • Issue #156772381: Bug: IDE tells me to update a file that doesn't exist, and in illogical place, of gradle version
Jetpack (androidx) Lint New Code/Templates
  • Issue #159364425: Can't create activity or fragment after updating Android Studio to 4.0
  • Issue #159832672: Bug: creating a new project with the wizard, it doesn't use the label for the toolbar title
Running Tests View Binding
  • Issue #159948398: View Binding classes are not resolved in Studio 4.0+ when two modules share the same layout name+app ID

Emulator 30.0.22 is now available in the Canary and Dev channels. 

General fixes available in this release:
  • Fixed an issue where latest Asphalt 9 game rendered with a black screen.
  • Fixed an issue in Vulkan where if running with a Vulkan 1.0 instance on the host, vkGetImageMemoryRequirements2KHR would incorrectly clear the returned VkMemoryRequirements2 struct's pNext field.
  • Fixed a memory leak in Vulkan renderer.
  • On macOS, invtsc is now enabled by default.
  • The emulator now supports audio streaming in containers over WebRTC.


Android Studio 4.1 Beta 4 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.

System Trace UI Improvements

The System Trace UI in the Android Studio profiler now includes:

  • Box selection: In the Threads section, you can now drag your mouse to perform a box selection of a rectangular area and select across multiple threads to inspect all of them at once.
  • Analysis Summary tab: The new Summary tab in the Analysis panel displays information about trace events and thread states.
  • Display data: In the Display section, new timelines for SurfaceFlinger and VSYNC help you investigate rendering issues in your app's UI.

For more information, see the release notes.

General fixes

This update also includes fixes for the following public issues:

Android Gradle Plugin
  • Issue #158747359: ./gradlew connectedCheck fails with "com.android.ddmlib.InstallException: Unknown failure: Error: Unknown option: -g"
  • Issue #160155450: BuildConfig not correctly honoring contract around quotations in String[]
  • Issue #157781501: Android gradle plugin fails to generate test coverage report with Gradle 6.4.1
  • Issue #160330055: GradleAnalyticsEnvironment leaks ProviderFactory
  • Issue #159871229: Debug build causes duplicate definitions for desugared library classes
Database Inspector Dexer (D8)
  • Issue #158644894: Unable to build with Java desugaring in AGP 4.1.0-beta01
  • Issue #159275214: [library desugar] Desugar java.util.TimeZone.getTimeZone(ZoneId zoneId)
Import/Sync
  • Issue #156772381: Bug: IDE tells me to update a file that doesn't exist, and in illogical place, of gradle version
Lint Shrinker (R8)


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.

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

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.

General fixes

This update also includes fixes for the following public issues:

Android Gradle Plugin
  • Issue #154069245: Jacoco task reprocessed the same files too many times - incremental builds
  • Issue #157446242: build\build-attribution\androidGradlePluginAttributionData: The process cannot access the file because it is being used by another process
  • Issue #157888755: versionName wrong in output.json file after building .apk
  • Issue #140747218: Improve error messages for exceptions thrown from Jetifier
Dexer (D8)
  • Issue #157806261: One or more instruction is preventing default interface method from being desugared: java.util.function.Consumer it.unimi.dsi.fastutil.chars.CharConsumer.andThen(java.util.function.Consumer)
  • Issue #158815562: Desugaring: static methods don't work for subclasses
  • Issue #156142802: Backport changes that made D8 lenient with non-sense line numbers and local variable table
  • Issue #148661132: Assertion error on valid locals info
  • Issue #158124557: Library desugaring does not rewrite generic signature
Import/Sync
  • Issue #158018185: When using "make project", AS reports build failures when using Kotlin DSL in buildSrc
Shrinker (R8)
  • Issue #157966650: R8 2.0.74 raise NullPointerException with -dontobfuscate option.
  • Issue #158432019: IncompatibleClassChangeError happens with R8 + Kotlin object + Java lambda
  • Issue #158018192: R8 2.0.74 produces invalid dex file when build "release" mode
  • Issue #157223339: R8 2.0.74 Return of service loader rewrite issues
  • Issue #157926129: minifyReleaseWithR8 throws java.lang.StackOverflowError after updating Gradle Plugin to 4.0.0
Testing
  • Issue #146447085: Cannot run Android Instrumented Tests on Simulator with API < 21

Emulator 30.0.21 is now available in the Canary and Dev channels. 

General fixes available in this release:

  • Fixed a recent regression where GLSL ES 1.00 shaders with variable names like isampler2D failed to compile.
  • Updated ANGLE shader translator with various fixes that address possible failure to compile shaders on Linux.
  • We now crash the emulator if the basic framebuffer blit shader fails to compile, in order to keep track of the phenomenon.
  • We now track which extended control pane was selected by the user.


Android Studio 4.2 Canary 4 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

Android Gradle Plugin Code Analysis
  • Issue #36978767: Add corresponding Intention for inspection "Toast created but not shown: did you forget to call show() "
  • Issue #62405955: (Feature request) Provide inspection for missing show() call on Snackbar
Database Inspector
  • Issue #157461456: Database inspector disappear from toolbar
  • Issue #159575631: Simple (and complex) query using With clause doesn't work on the Database Inspector
Emulator
  • Issue #158874142: Studio clipboard does not pick up clipboard selection from the emulator
Lint
  • Issue #140626689: False positive for Service.onStartCommand return value WrongConstant check
  • Issue #119711823: "Invalid format string" lint rule doesn't report issue for a space in patern "% s"
  • Issue #136534380: "Buttons in button bars should be borderless" warning in a layout XML doesn't have an auto-fix option
  • Issue #77299597: "Combining ellipsize=middle and maxLines=1..." warning should not show when minSdkVersion is 23 or higher
  • Issue #74058591: "Unexpected failure during lint analysis" for invalid replace string quick fix masks actual problem
  • Issue #111035260: "enable 'LogConditional'" doesn't enable check
  • Issue #37053735: "Unexpected cast" Inspection should offer replacement suggestion
  • Issue #62810553: "android:host is missing" for uris with null host
  • Issue #158295165: Android Lint: Unknown Issue IDs should NOT break the build
  • Issue #158189490: NewApi lint check does not factor in usage of core library desugaring
Manifests
  • Issue #158406168: Navigation component Illegal circular reference among navigation files when traversing navigation file references starting with navigationXmlId
New Code/Templates Resources
  • Issue #151480852: Bug: color preview in colors.xml file can show the wrong one, referenced by a different qualifier
SDK Manager View Binding
  • Issue #158065847: Autocomplete for binding classes in Android Studio 4.0 could be better

For information on new features and changes in all preview builds of Android Studio 4.2, 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 8. 

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




or if using the android.support packages:

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


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 8. Notable fixes are:

  • Placeholder behavior
  • Layer visibility
  • Flow, Barrier fixes
  • TransitionListener fixes
spread_inside chain incorrect position160721889
Using transformPivotX in MotionScene causes NumberFormatException160100638
group visibility doesn't apply correctly in 2.0 beta 6157599997
PlaceHolder wrap-content issue on 2.0.0-beta3 version145317510
PlaceHolder not working143233549
ResourcesImpl getIdentifier attempts to parse identifier name as integer for no apparent reason.155970557
Compile time check for a group referencing itself158112990
ArrayIndexOutOfBoundsException with Constraint Flow on RecylcerView items156660902
First motions goes on false position146620824
transitionToStart() not as expected when transition change very quick154069247
MotionLayout still leaks nested scrollable view in its mScrollTarget field158941183
[MotionLayout] addTransitionListener throws NullPointerException159104189
Incorrect positioning of Barriers in 2.0.0-beta5159540431
Bug: including unused barrier breaks preview + on-device layout157867784
Issue with ConstraintLayout barriers when using horizontal bias in 2.0.0-beta6158585672
<OnClick> doesn't have the same behavior as MotionLayout.transitionToState(int)146010214
[2.0.0-beta4] MotionLayout calling transitionToEnd() in lifecycle methods bug151242173
[MotionLayout] No widget for XXXX exception is logged138261133
MotionLayout state reset during fragment transaction137174583
MotionLayout internal state is corrupted after using setProgress() too early in view lifecycle148330097
MotionLayout can not transition when naviagte back159582390
Weird status after coming back to MotionLayout137173765
[MotionLayout] OnSwipe doesn't work if finger moved slowly157424691
[MotionLayout] onTransitionCompleted doesn't work on api level 17156853974


Android Studio 4.1 Beta 3 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 #156169950: variable Mutable collections BREAK source compatibility and Gradle sync on AGP upgrade from 3.x to 4.1.0-alpha09
Database Inspector
  • Issue #157461456: Database inspector disappear from toolbar
  • Issue #159575631: Simple (and complex) query using With clause doesn't work on the Database Inspector
Lint
  • Issue #140626689: False positive for Service.onStartCommand return value WrongConstant check
  • Issue #158189490: NewApi lint check does not factor in usage of core library desugaring


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.20 is now available in the Canary and Dev channels. 

General fixes available in this release:
  • Linux emulator now uses KVM paravirtualized clock when the guest kernel version is >= 5.4 (R system images or later).
  • Emulator now uses LZ4 to decompress guest kernels.
  • If a foldable device is configured, the emulator now sends hinge angle sensors updates and posture changes to the guest.
  • Existing foldable devices will now update hinge sensor angle and posture when the toolbar's fold / unfold buttons are pressed.