[go: up one dir, main page]

Release updates archive





We are happy to announce the release of ConstraintLayout 2.1.0 alpha 2, with many new features :)

dependencies {
    implementation 'androidx.constraintlayout:constraintlayout:2.1.0-alpha2'
}


What's new in 2.1.0 alpha 2More information about the new features in 2.1.0 can be found on the wiki, the source code is available on https://github.com/androidx/constraintlayout
ConstraintLayout


  • android:layout_width and android:layout_height are now optional, with wrap_content as default behavior
  • new layout_constraintWidth and layout_constraintHeight attributes for expressing dimension constraints
  • supports negative margins for constraints
  • supports baseline to top and baseline to bottom constraints
  • supports baseline margin constraints
  • SharedValues allow to inject external values into ConstraintLayout

MotionLayout

  • Support for overshoot interpolators (anticipate, overshoot)
  • Enhanced MotionHelper support
  • Add animated update of ConstraintSet to MotionLayout updateStateAnimate(id,cset,duration);
  • Shared value based ViewTransition
  • scheduleTransitonTo allow you to que a transition to run at the completion of the current transition.

Helpers
  • Carousel now supports an infinite (wrap-around) mode
  • ReactiveGuide : A guideline that position itself automatically when a SharedValue changes
  • MotionEffect : inject Keyframes to referenced views moving in a given direction
  • MotionLabel - A View for animating single line text

Changes

ConstraintLayout.LayoutParams now inherits directly from ViewGroup.LayoutParams, not ViewGroup.MarginLayoutParams.

Fixes
  • vertical ratio incorrectly resolved
  • percent dimension with max dimensions


Android Studio Arctic Fox Canary 3 (2020.3.1.3) 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 Arctic Fox, 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 Gradle plugin: Dependency configurations removed

In AGP 7.0 Canary 3, the following configurations (or dependency scopes) have been removed:

  • compile
    Depending on use case, this has been replaced by api or implementation.
    Also applies to *Compile variants, for example: debugCompile.
  • provided
    This has been replaced by compileOnly.
    Also applies to *Provided variants, for example: releaseProvided.
  • apk
    This has been replaced by runtimeOnly.
  • publish
    This has been replaced by runtimeOnly.

In most cases, the AGP Upgrade Assistant will automatically migrate your project to the new configurations.

General Fixes

This update includes fixes for the following issues:

C++ Debugger
  • Issue #171300775: Display actionable error for missing dependencies: LLDBFrontend exited with code 127
Lint New Project Wizard
Run
  • Issue #174783087: Running application on API30+ device occasionally fail to update the application


Android Studio 4.2 Beta 2 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.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


Lint Shrinker (R8)
  • Issue #172999904: R8 Slowdown and Timeout Due to number of proguard rules
  • Issue #173184123: Public tracking bug for b/172895918 - R8 crashing with java.lang.NullPointerException
  • Issue #173598082: R8 build failure: Invalid descriptor char 'N'
Layout Editor Navigation Editor
  • Issue #172694913: AS 4.2 performs incorrect case mapping for camelCase graph IDs when referencing Directions classes
Code Editor New Code/Templates Android Gradle Plugin Emulator
  • Issue #170657960: Embedded emulator on Windows never closes the emulator process

We've made a rough initial preview of the emulator running on Apple Silicon available here. It also contains an AOSP system image build for ARM64. This should enable developers to test/run ARM64 apps via ARM64 hardware virtualization.

https://github.com/741g/android-emulator-m1-preview/releases/tag/0.1

This is a preview of some basic Android emulation functionality on the M1. There are still many issues, but apps work at a basic level. To be updated soon with more fixes. The release tag 0.1 corresponds to this commit: https://android.googlesource.com/platform/external/qemu/+/aca144a9e9264b11c2d729096af90d695d01455d


Known issues
  • Webview doesn't work
  • No sound
  • No device skins
  • Video codecs not working
  • 32 bit ARM apps won't work
  • Graphical glitches in some Vulkan apps
  • Popup on startup about not being able to find the ADB path (ADB will still notice the emulator if you have it installed though)
  • When building, it may be faster to start then cancel the Python triggered build and then reissue ninja -C objs install/strip versus letting the Python triggered build finish.
How to use

This only works on M1 Apple Silicon Macs.

(Note: This has recently been updated with a library path fix to address a failure to start) Go to the Github releases page, download a .dmg, drag to the Applications folder, and run. You'll first need to right click the app icon and select Open and then skip past the developer identity verification step (we are working on providing official identity info). The first few times it starts up it will take a while to show up, but subsequent launches will be faster.

If you've installed Android Studio and Android SDK and adb is available, the emulator should be visible from Studio and work (deploy built apps, debug apps, etc).

How to configure

Edit /Applications/Android\ Emulator.app/Contents/MacOS/aosp-master-arm64-v8a/config.ini. Some notable options:
  • disk.dataPartition.size: size of userdata. When reconfiguring, you'll also need to delete all userdata*.img files in that directory.
  • fastboot.forceColdBoot,fastboot.forceFastBoot: whether to enable snapshots. Current default is snapshots disabled. Set fastboot.forceColdBoot=no,fastboot.forceFastBoot=yes to enable snapshots.
  • hw.lcd.density: Virtual display DPI.
  • hw.lcd.width,hw.lcd.height: Virtual display dimensions.
  • hw.ramSize: RAM limit for the guest. (2GB minimum)

How to wipe data

Remove all userdata*.img files in /Applications/Android\ Emulator.app/Contents/MacOS/aosp-master-arm64-v8a/.

How to build your own emulator

Building the engine

The emulator source code lives (here), but there are a bunch of other dependencies to download, so we use repo.

To build, first make sure you have Xcode and Xcode command line tools installed, and that you have Chromium depot_tools in your PATH (link). Then:

mkdir emu
cd emu
repo init -u https://android.googlesource.com/platform/external/qemu --depth=1
repo sync -qcj 4
cd external/qemu
python android/build/python/cmake.py --target=darwin_aarch64

Note that canceling the python based build after it gets going and issuing just ninja -C objs install/strip may be faster.

The built artifacts are in /path/to/external/qemu/objs/distribution/emulator. They should be automatically signed. However, the binaries in objs/ are not; to sign them, issue ./sign-objs-binaries.sh. Note that this can only be done after ninja -C objs install/strip is successful.

Building the system image

The system image is built from AOSP master sdk_phone_arm64 with a few modifications. Ideally, let's be on a Linux host when building the system image---the build is relatively untested on M1 systems, and at least, we need to create a separate case sensitive partition for the AOSP repo. Assuming you're on Linux:

mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -qcj 4

We first need to make an edit to remove all 32 bit support. Patch this change: link to build/make/target/board/emulator_arm64/BoardConfig.mk. Then:

source build/envsetup.sh
lunch sdk_phone_arm64-userdebug
make -j12 # Or however many CPU cores you have

After that's done, we can use this script to package up the system image for use in /Applications/Android\ Emulator.app/Contents/MacOS/aosp-master-arm64-v8a/.

Assuming you're still in the Android build environment, the script is as follows. It takes one argument, the name of the zip file.

echo $ANDROID_PRODUCT_OUT
export ZIPPED_NAME=$1
mkdir -p $ZIPPED_NAME/files
cd $ZIPPED_NAME/files
cp $ANDROID_PRODUCT_OUT/system-qemu.img system.img
cp $ANDROID_PRODUCT_OUT/vendor.img vendor.img
cp $ANDROID_PRODUCT_OUT/ramdisk.img ramdisk.img
cp $ANDROID_PRODUCT_OUT/ramdisk.img ramdisk.img
if [ -f $ANDROID_PRODUCT_OUT/kernel-ranchu-64 ]; then
  cp $ANDROID_PRODUCT_OUT/kernel-ranchu-64 kernel-ranchu-64
else
  cp $ANDROID_PRODUCT_OUT/kernel-ranchu kernel-ranchu
fi;
cp -r $ANDROID_PRODUCT_OUT/data .
cp -r $ANDROID_PRODUCT_OUT/advancedFeatures.ini advancedFeatures.ini
cp -r $ANDROID_PRODUCT_OUT/userdata.img .
cp -r $ANDROID_PRODUCT_OUT/encryptionkey.img .
cp -r $ANDROID_PRODUCT_OUT/build.prop .
mkdir system
cp -r $ANDROID_PRODUCT_OUT/build.prop system/build.prop
cp -r $ANDROID_PRODUCT_OUT/VerifiedBootParams.textproto .
cp -r $ANDROID_PRODUCT_OUT/source.properties .
cd ..
zip -1rq $ZIPPED_NAME.zip files
ls -l $ZIPPED_NAME.zip

Then, $ZIPPED_NAME.zip can be sent over to the M1 and the contents of its files/ can be coped over into /Applications/Android\ Emulator.app/Contents/MacOS/aosp-master-arm64-v8a/. Make sure to remove all userdata*.img files after doing this though.


Android Studio Arctic Fox Canary 2 (2020.3.1.2) 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 Arctic Fox, 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 now uses Gradle test runner

To improve overall consistency of test executions, Android Studio now uses Gradle to run all unit tests by default.

In many cases, this change will not affect your testing workflow in the IDE. However, if you're using custom Android JUnit run configurations, you will need to migrate these configurations to Gradle run configurations.

To learn more, see the release notes.

Known issue: Update patches not working for Canary 2

On Linux and macOS machines, update patches are not working for Canary 2. To upgrade to the Canary 2 release, download and install the full version.

General Fixes

This update includes fixes for the following issues:

Android App Bundles
  • Issue #111082605: Root binary files are packaged with base.apk instead of feature.apk
Android Gradle Plugin
  • Issue #173770818: Having tests only under `androidTest/kotlin` will not run any integration tests
Code Editor Import/Sync Jetpack Compose Layout Editor Layout Inspector Lint
  • Issue #172055763: Lint: OOM while analyzing Kotlin list of lambdas with receivers
  • Issue #173825213: lint.xml <ignore> paths not treated as relative to the lint.xml file
New Code/Templates


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

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 #171364505: Shrinking library with multidex enabled fails (after 4.0 -> 4.1 update)
  • Issue #172055303: Disabling android resources in libraries breaks unit tests
C++ Build
  • Issue #171300770: NullPointerException in CmakeServerExternalNativeJsonGenerator when refreshing linked C++ projects
Lint Release Bundle/APKs
  • Issue #157584987: Android Gradle Plugin 3.6.x resulting larger .aab on debug build compared to AGP 3.5.x


Android Studio Arctic Fox Canary 1 (2020.3.1.1) 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 Arctic Fox, 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.

Updated version numbering for Android Studio

We have changed the version numbering system for Android Studio to more closely align with IntelliJ IDEA, the IDE upon which Android Studio is built. For more information, see the release notes.

Updated version numbering for Android Gradle plugin

We are updating the version numbering for Android Gradle plugin (AGP) to more closely match the underlying Gradle build tool. Therefore, AGP 7.0 will be the next release after AGP 4.2. For more details, see Versioning changes in the AGP release notes.

General Fixes

This update includes fixes for the following issues:

Activity
  • Issue #170026127: ActivityResultFragmentVersionDetector lint failure when using 1.2.0-beta01 with fragment 1.3.0-beta01
Android Gradle Plugin Android Studio
  • Issue #169776728: Incorrect imports when using Jetpack Compose default live templates
  • Issue #80166964: IntDef annotation for variable not working anymore
AVD Manager
  • Issue #159878401: "Cold Boot Now" on AVD Manager does not really cold boot emulator
Build Output C++
  • Issue #169442540: Include header directories in project
  • Issue #168806413: Adobe Listening Session: In APK debugging, single import directory for all .so files
C++ Build
  • Issue #159434435: Android Gradle Plugin 4.0: CMake argument starting from '-C' is not passed to cmake executable, rendering build broken
  • Issue #171300770: NullPointerException in CmakeServerExternalNativeJsonGenerator when refreshing linked C++ projects
C++ Debugger
  • Issue #168647695: Remove rerun button from the native debug panel
  • Issue #37121046: Debugger type selection ignored/broken until I click "edit configurations"
Code Editor CPU Emulator
  • Issue #162564820: "Enter" key doesn't work in Emulator tool window
  • Issue #155221674: Embedded Emulator: Feature request for device frame on/off
  • Issue #170657960: Embedded emulator on Windows never closes the emulator process
  • Issue #162573673: Android Emulator in same window as studio does support drag and install of APK on emulator
Import/Sync Layout Editor
  • Issue #139242310: Creating a layout file with specific qualifiers fails if a directory already exists with the same qualifiers
  • Issue #173198421: Request to insert missing font sizes into textview
Lint Navigation Editor
  • Issue #170059094: Unresolved reference for NavArgs declared at top of (nested) NavGraph
  • Issue #164163197: Navigation destination search not working for "e", "r" and "o" letters
  • Issue #172694913: AS 4.2 performs incorrect case mapping for camelCase graph IDs when referencing Directions classes
New Code/Templates Release Bundle/APKs
  • Issue #157584987: Android Gradle Plugin 3.6.x resulting larger .aab on debug build compared to AGP 3.5.x
Resource Manager Run
  • Issue #167977589: Run button disabled while Gradle sync is invalidated
  • Issue #170709330: "NoSuchMethodException: android.content.res.CompatResources.getLoaders []" when starting from Android Studio
Running Tests
  • Issue #163791525: INSTALL_PARSE_FAILED_NO_CERTIFICATES when running test on multiple devices
  • Issue #162006827: Robolectric tests run in Android Studio 4.1 fail with a bad ASM dependency
Upgrade Assistant
  • Issue #156100314: Consider handling Crashlytics versions in the upgrade assistant
Windows & Menus

We are happy to announce the release of ConstraintLayout 2.1.0 alpha 1, with many new features in MotionLayout :)

dependencies {
  implementation 'androidx.constraintlayout:constraintlayout:2.1.0-alpha1'
}

2.1.0 alpha 1 Features



Highlights of this release include:
  • Carousel - a motion helper to build custom carousel views
  • Scalability - MotionScenes can be more compact and support includes
  • Rotation support - A collection of features to support rotation (input and output)
  • ViewTransitions - a single view transition to simplify state management
  • Github - ongoing development happens on github: https://github.com/androidx/constraintlayout

More details and documentation can be found at: https://github.com/androidx/constraintlayout/wiki/MotionLayout

Changes

No API was changed from 2.0, existing code should behave the same.

Note: MotionLayout 2.1 features are not yet compatible with MotionEditor in Android Studio.

As of 2.1, we will no longer release com.android.support.constraint versions

Android Studio 4.1.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 #172055303: Disabling android resources in libraries breaks unit tests
  • Issue #171364505: Shrinking library with multidex enabled fails (after 4.0 -> 4.1 update)
  • Issue #170922353: Upgraded from AGP 4.0.2 to 4.1.0 and app crashes with Resources$NotFoundException: Resource ID #0x0
APK Debugging
  • "Project Structure" does not show up for APK Debugging projects
  • Java Debugger crashes for API 29 and above
Apply Changes
  • Issue #161692523: Can't run/debug with Android App run configuration if app is stopped and unchanged from last run/debug
AVD Manager
  • Issue #159878401: "Cold Boot Now" on AVD Manager does not really cold boot emulator
C++
  • Issue #171280381: #$(call import-module,android/cpufeatures) in Android.mk will import all files in disk root
  • Issue #171300770: NullPointerException in CmakeServerExternalNativeJsonGenerator when refreshing linked C++ projects
Code Editor
  • Issue #165821809: Android Studio 4.1 RC 1 continuous UI freezing
  • Find Usage is slow for C++ methods.
Dexer (D8)
  • Issue #167649682: When CoreLibraryDesugaring is enabled and APK is installed manually, the types of variables mapped in Gson are not correct.
Embedded Emulator
  • Touch events are displaced when started emulator in landscape
  • Issue #170657960: Embedded emulator on Windows never closes the emulator process
  • Issue #163608541: First time emulator launch using run does not appear in the android studio window
  • Issue #162564820: "Enter" key doesn't work in Emulator tool window
Gradle Files Editor
  • Issue #165969795: java.lang.NoClassDefFoundError: org/jetbrains/kotlin/resolve/constants/evaluate/ParseUtilsKt
  • Issue #162811644: Changing gradle files in Studio 4.1 displays two sync requests
Indexing
  • Issue #171801044: Android Studio 4.1 with Gradle 6.5 is always indexing!!!
  • Issue #171334504: Updating indices covering full "c:" drive after update and even after reinstall
Profiling
  • Issue #170801047: Unable to create profiler recording configuration
  • Native Memory Profiler not tracking all of memory
  • Issue #171564196: CPU profiler recording fails for pre-O devices: trace file was not parsed
Project System
  • forced upgrades interrupt sync
Resource Manager Run Shrinker (R8)
  • Add retrace to Studio
  • Vertical Class Merging produces invalid dex for chrome
  • Retargeting of invokes to DesugarCollections breaks inlining
  • R8 Compilation failed (java.lang.NullPointerException)
  • Issue #170677722: Full mode - Fragment 1.3.0-beta01 - FORCE inlining on non-inlinable on FragmentManager
  • Issue #169584856: R8 - Compilation failed to complete
  • Issue #169045091: Android Gradle plugin v4.0.0 and Gradle v6.1.1 causes AbstractMethodError on protected methods


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

System Trace: Improved metrics for memory and graphics

In the CPU profiler, the System Trace feature now includes new metrics for analyzing app performance:

  • Events Table: Displays all trace events in the currently selected thread.
  • New tracks and track groups:
    • BufferQueue: In the Display section, this new track shows the buffer count of the app's surface BufferQueue.
    • CPU Frequency: In the CPU cores section, this track shows how hard each core is working.
    • Process Memory (RSS): The new Process Memory (RSS) track group shows the amount of physical memory currently in use by the app.

To learn more, see the release notes.

General Fixes

This update includes fixes for the following issues:

Android Gradle Plugin
  • Issue #150133257: Sanitize flavor names in BuildConfig
  • Issue #170922353: Upgraded from AGP 4.0.2 to 4.1.0 and app crashes with Resources$NotFoundException: Resource ID #0x0
App Inspection
  • Add IDE services for creating files
  • Have a way to stop the app inspector agent on the device
Apply Changes
  • [Properly implement overlay diff
  • Apply Changes followed by a no-change IWI run removes the AC changes
Build Output C++
  • cxxLanguageKindFromExtension return CPP for most files, even if they are not CPP files
CPU
  • [ChromeOS] C++ function tracing is not working: simpleperf depends on missing libncurses.so.5
Embedded Emulator
  • Wear OS Round: display encroaches on device frame during startup
Gradle
  • AGP recording OS version instead of OS name
Lint
  • Issue #170585495: Lint Baseline generates with platform depended file separators
New Project Wizard
  • [NewProject] Basic template illustration shadows are off with others
Profilers
  • Update the "report a bug" link to use the right component
Running Tests
  • Issue #162006827: Robolectric tests run in Android Studio 4.1 fail with a bad ASM dependency
  • Issue #170328018: AS 4.1+ fail to run junit tests, compailing about junit version being too low
Shrinker (R8)
  • Create a test for invalid signature rewriting
  • Issue #170915828: Failed to transform aar with StringIndexOutOfBoundsException when using R8 2.1.62 (used by AGP 4.1.0)
  • Issue #171369796: Method defined in both an interface and a base class throws null
  • Issue #171136616: R8 in AGP 4.1 optimization causes early initialization leading to NoClassDefFound error
  • Issue #171642432: Can't able to generate signed aab/apk with minifyEnabled set to true (> Task :app:minifyReleaseWithR8 FAILED)
  • Issue #171289133: Support allowshrinking modifier

ConstraintLayout 2.0.4 is now available on the google maven repository:

dependencies {
  implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
}

or if using the android.support packages:

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

Documentation & Examples





Bugfixes

This releases fixes a NPE that may happen when removing a child view of ConstraintLayout at runtime. It is recommended to update to this version.

List of issues closed with this release:

NPE in ConstraintLayout.Measurer (v2.0.3)171901411


ConstraintLayout 2.0.3 is now available on the google maven repository:

dependencies {
  implementation 'androidx.constraintlayout:constraintlayout:2.0.3'
}

or if using the android.support packages:

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

Documentation & Examples




Bugfixes

This releases fixes a few issues. It is recommended to update to this version.
  • Windows insets handling
  • Handling of dimension ratio in some situations (regression in 2.0.2)
  • Crash with some RTL layouts (regression in 2.0.2)
List of issues closed with this release:

Can not set view visibility in InsetsListener callback without request layout169262776
ConstraintLayout 2.0.2 broke layout_constraintDimensionRatio170313444
Internal crash when solving constraints in 2.0.2170316875
Broken app:layout_constraintWidth_max="wrap" in version 2.0.2170541907
NPE on VelocityTracker when swiping view in RecyclerView170727611
In 2.0.2, children with layout_width="0dp", and managed by a vertical Flow, do not match the Flow's width170884549
Elements not shown when using barrier and ConstraintLayout height is set to wrap_content171458571
View height issue when using layout_constrainedHeight170189141
MotionLayout crashes in onAttachedToWindow() if applyMotionScene="false" or if no layout description specified171053913
layout_constraintHorizontal_bias RTL171334510


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

This update includes fixes for the following issues:

Android Studio
  • Issue #170733015: Update GPU import to 2.3.0
AVD Manager
  • Issue #159878401: "Cold Boot Now" on AVD Manager does not really cold boot emulator
Build Analyzer
  • Issue #168687609: Showing Resolution message and open memory settings button when garbage memory time is 0.0 sec
  • Issue #169569758: Task duration should not be "0.0 seconds"
CPU
  • Issue #149108626: [System Trace V2] - Remove padding from top and bottom of minimap
  • Issue #170801047: Unable to create profiler recording configuration
Deployment
    Issue #169819270: Errors in logcat on first install without install after non-compatible change
Embedded Emulator
  • Issue #155284464: Emulator tool window icon should be 13x13: emulator.svg
Emulator
  • Issue #155221674: Embedded Emulator: Feature request for device frame on/off
  • Issue #162564820: "Enter" key doesn't work in Emulator tool window
Gradle
  • Issue #169825560: Rename deprecation target from 5.0 to 7.0
New Project Wizard
  • Issue #171074702: [NewModule] Missing border between left and details panel
  • Issue #169614872: [NewProject] Several spacing/alignment issues not built to-spec
Project System
  • Issue #170389448: QuickFix to use JDK from project structure not working
Run
  • Issue #170709330: "NoSuchMethodException: android.content.res.CompatResources.getLoaders []" when starting from Android Studio
Shrinker (R8)
  • Issue #170920164: "Unexpected usage left in method" error when compiling chrome with latest R8
  • Issue #171197204: Retargeting of invokes to DesugarCollections breaks inlining
  • Issue #170677722: Full mode - Fragment 1.3.0-beta01 - FORCE inlining on non-inlinable on FragmentManager
Testing
  • Issue #170753826: Revise Multi-device tests opt-in flow


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

Apply Changes
  • Issue #169812146: Improve Kotlin lambda error messages
Build
  • Issue #171305664: CMake 3.18 support breaks when there's .asm file
Deployment
  • Issue #170750947: Parallelize deployer for multiple devices
Emulator
  • Issue #163608541: First time emulator launch using run does not appear in the android studio window
Import/Sync
  • Issue #169971952: Android Gradle build freezes
Resources
  • Issue #170867656: Bug: can't rename some resource files, and no way to reach translation tool if file isn't named "strings.xml"


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

This update includes fixes for the following issues:

Activity
  • Issue #170026127: ActivityResultFragmentVersionDetector lint failure when using 1.2.0-beta01 with fragment 1.3.0-beta01
  • Issue #170026127: ActivityResultFragmentVersionDetector lint failure when using 1.2.0-beta01 with fragment 1.3.0-beta01
Android Gradle Plugin
  • Issue #169252018: AGP fails to build libraries targeting java 1.7
  • Issue #164036336: Incremental changes with multi-release jars, or jars built with target 1.9 may break dexing
  • Issue #168091536: getText() and getString() trims new lines from the beginning of the string
  • Issue #138837769: Allow disabling resource validation in library modules (in parsing local resources)
  • Issue #169896233: Using jetpack compose breaks gradle configuration caching
C++ C++ Debugger
  • Issue #169158699: Missing debug symbols, cannot debug .apk that is otherwise working fine
Import/Sync Jetifier
  • Issue #168038088: artifact replacements should use the version set in the project
Layout Editor Lint Navigation Editor
  • Issue #170059094: Unresolved reference for NavArgs declared at top of (nested) NavGraph
Resource Manager
  • Issue #169449461: Image Asset Studio doesn't overwrite all old files when generating files for new adaptive icon
Running Tests
  • Issue #163791525: INSTALL_PARSE_FAILED_NO_CERTIFICATES when running test on multiple devices
  • Issue #163791525: INSTALL_PARSE_FAILED_NO_CERTIFICATES when running test on multiple devices
Shrinker (R8) Testing Upgrade Assistant
  • Issue #156100314: Consider handling Crashlytics versions in the upgrade assistant

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

 ConstraintLayout 2.0.2 is now available on the google maven repository: 


dependencies {
  implementation 'androidx.constraintlayout:constraintlayout:2.0.2'
}


or if using the android.support packages:


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

Documentation & Examples




Bugfixes

This releases improves performances as well as fix a few issues. It is recommended to update to this version.
  • Handling of view GONE visibility in ConstraintLayout was incorrect in some situations
  • Handling of packed chains in ConstraintLayout was incorrect in some situations
  • Fixed inflation exception on API 15 for the Flow virtual layout helper
  • limitsBoundsTo was broken in MotionLayout
  • jump to end was broken in MotionLayout in some situations (chaining transitions)
Flow inflation exception on API 15165312258
java.lang.ClassCastException: androidx.constraintlayout.solver.ArrayLinkedVariables cannot be cast to androidx.constraintlayout.solver.SolverVariableValues165964943
The attribute "flow_horizontalAlign" was defined with the wrong format168495397
Margins are not visible (gone)162917675
VerticalBias not working when another view has a constraint to the top of the original view167014942
Barrier makes constraint work incorrectly167612342
When horizontal chain style is set to packed it is not working as expected167701934
MotionLayout: Quick swipes outside of limitBoundsTo are not ignored168373996
Setting the visibility of a View to GONE causes layout to render incorrectly in 2.0.1168681861
ConstraintLayout 2.0.0/2.0.1 "gone" views is not taken into consideration the same way as in 2.0.0-rc1166486001

Android Studio 4.0.2 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 includes fixes for the following public issues:

Dexer (D8)
  • Issue #158502561: Invalid Maven POM file for the desugar_jdk_libs_configuration artifact
  • Issue #160905482: Desugaring broken for subclasses of ConcurrentHashMap
  • Issue #160909126: coreLibraryDesugaringEnabled seems to break ConcurrentHashMap when using Gson and reflection
  • Issue #159275214: [library desugar] Desugar java.util.TimeZone.getTimeZone(ZoneId zoneId)
Layout Editor
  • Issue #162809072: When I change a xml id attribute at Design mode, studio popup and ask changing another id. I click "No(local)" but studio find and change same name id in another files.
Lint
  • Issue #158128960: AGP 4.0 false positive Instantiatable Lint check if Application extends java class
  • Issue #155088391: Can no longer specify layout_height and layout_width in a style
Motion Editor Shrinker (R8)


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

Android Gradle plugin support for Jetpack Compose

Starting with Android Gradle Plugin 4.2 Canary 13, only Jetpack Compose Compiler 1.0.0-alpha-04 and higher will be supported.

General Fixes

This update includes fixes for the following issues:

Android Gradle Plugin Build Variants Code Editor
  • Issue #168784098: getValue operator extension is not automatically imported for mutableStateOf/state
Import/Sync Lint
  • Issue #168794947: Lint's Parcelize check has false positives when using the new @Parcelize annotation
Upgrade Assistant

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

Dexer (D8)
  • Issue #169183194: D8 mergeProjectDexDebug fails on AS / AGP 4.2.0-alpha12 due to SafeArgs generated classes
Jetpack Compose Run Upgrade Assistant
  • Issue #156100314: Consider handling Crashlytics versions in the upgrade assistant