[go: nahoru, domu]

Release updates archive

We're interested in giving better support to our users who run the emulator in CI. One possible effort included in this goal is to make the emulator easier to use with tools that we see are being used widely, such as Docker.

To this end, we've set up a few helper scripts in the AOSP platform/external/adt-infra repo to make it easier to get started running the Linux emulator in Docker with KVM acceleration and adb / gRPC ports exposed. The scripts are based on what we're already using internally for various CI needs.

The revision of the scripts for this release is here:

https://android.googlesource.com/platform/external/adt-infra/+/958180293308f4be67f6369acb075503f84a08b1/emu-image/external/

Readme

Overall place where the scripts live:

https://android.googlesource.com/platform/external/adt-infra/+/refs/heads/emu-master-dev/emu-image/external/

We very much welcome feedback on any difficulties using the emulator in CI generally, not just in Docker; what are common issues? What tools other than Docker should be better supported? To do so, please file feedback to https://issuetracker.google.com/issues?q=componentid:192727%20 with "CI" or "Continuous Integration" in the title.

Emulator 29.0.12 is now available in the Canary and Dev channels.
  • Disabled SMS send button for Automotive system images. For more info on how to use Android Auto emulator system images, check this codelab.
  • Snapshots are enabled for Automotive system images.


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

General fixes

This update includes fixes for the following public issues:

Android App Bundles
  • Issue #132721337: Remove warning when using gradle property enableUncompressedNativeLibs
Compilers
Gradle
  • Issue #110061530: Build plugin prevent to use incremental compilation when Data Binding is enabled
  • Issue #132880111: BuildElements is not OS agnostic.
  • Issue #130917947: App dependencies incorrectly bundled in test apk when targeting Java 8
  • Issue #130531986: Support Lombok and Error Prone when annotation processing is performed by a separate task
  • Issue #132813062: Mutlitple producers of CODE_COVERAGE when having more than one device provider.
Kotlin
Layout Editor
Navigation Editor
Project Structure Dialog
Project System
SDK Manager
  • Issue #132473200: Nothing big/ worrysome. i have updated my sdk packages completely but still it shows partially installed Q package and Androuid studio splash screen has graphics glitch with the loading bar
Shrinker (R8)
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.0.11 is now available in all channels. This is a bugfix release with the following changes relative to previous stable (29.0.9):
  • Fixed flaky failure to start the emulator on Windows ("vCPU shutdown request").
  • The Windows emulator now relies on the libgcc dll that we ship instead of being compiled with libgcc statically.
  • Added headless build for 32-bit x86 guests (qemu-system-i386) due to demand, enabling API <= 26 x86 32-bit images to run with the headless build (Note that for 32-bit x86 guests API 27 and later, the 64-bit engine (qemu-system-x86_64) is still used because in these system images, while the userspace is 32-bit, the kernel is 64-bit and that's the part that matters when selecting emulation engines).
  • Added logcat support to the gRPC API. Details More background on gRPC support.
  • Fixed unnecessary pipeline barrier in emulated compressed textures in Vulkan.
  • Fixed error in http proxy when chunked transfer encoding is used. Details
  • We now allow custom Qt library paths via ANDROID_QT_LIB_PATH environment variable.
  • Allow running with previous emulator binaries that had QEMU1 if the QEMU1 executables (emulator[64]-[x86|arm|etc]) are placed in the emulator directory.

HAXM 7.5.1 for Windows is now available in all channels.

From: https://github.com/intel/haxm/releases/tag/v7.5.1
  • Fixed an issue where preparation of a CPU for entry into guest mode could lead to a host kernel panic on NetBSD (#168).
  • Enabled emulation of the CMPS instruction (#176).
  • Improved IA32_EFER virtualization (#188, #198).
  • Added support for stand-alone memory mappings (#197).
  • For the Emulator, this fixes an issue where on Windows, running Vulkan apps with many host visible / coherent memory allocations could end up causing an internal exception and hanging the emulator.
  • Enabled emulation of PUSH and POP instructions (#185).
  • Fixed misemulation of instructions that access legacy low-byte registers (#185).


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

This update includes fixes for the following public issues:

Core IDE
Data Binding
Gradle
  • Issue #119234600: GradlePropertyModelImpl IllegalStateException: Duplicate key 1.1.5
Gradle Sync
  • Issue #124680713: NewGradleSyncNotSupportedException when trying to Gradle Sync
  • Issue #129261435: Android syncing hangs if distributionSha256Sum mismatches after upgrade
IntelliJ
Layout Editor
Lint
  • Issue #131073349: Lint fails to add all densities/orientations of a resource to baseline, then fails on subsequent runs
  • Issue #129985008: DuplicateResourceDetector throws StringIndexOutOfBoundsException with " \" in strings.xml
  • Issue #124466808: IconExpectedSize triggered on icon that was generated from Android Studio
  • Issue #130892328: False positive DrawAllocation
Project System
  • Issue #123677461: Android Gradle Plugin Update adds extra google() repository when doing repository configuration

For information on new features and changes in all preview builds of Android Studio 3.5, 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.0.11 is now available in the Canary and Dev channels. Changes:
  • Fixed flaky failure to start the emulator on Windows (vCPU shutdown request).
  • The Windows emulator now relies on the libgcc DLL that we ship instead of being compiled with libgcc statically.
  • Added headless build for 32-bit x86 guests (qemu-system-i386) due to demand, enabling API <= 26 x86 32-bit images to run with the headless build (Note that for 32-bit x86 guests API 27 and later, the 64-bit engine (qemu-system-x86_64) is still used because in these system images, while the userspace is 32-bit, the kernel is 64-bit and that's the part that matters when selecting emulation engines).
  • Added logcat support to the gRPC API. Details More background on gRPC support.


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

General fixes

This update includes fixes for the following public issues:

Android Studio UI
APK Viewer
  • Issue #127956589: APK Analyzer returns "?" instead of valid version name after upgrade to 3.3.2
App Development
AVD Manager
  • Issue #116873929: CPU/ABI column in AVD Manager truncates text longer than 3 characters (x86-64) and is not resizable
Build
C++
Core IDE
Data Binding
Deployment
Design Tools
  • Issue #129801143: Request: always choose correct size when importing an SVG to be converted into VectorDrawable
Editing
Gradle
  • Issue #119234600: GradlePropertyModelImpl IllegalStateException: Duplicate key 1.1.5
  • Issue #131393499: Update to Gradle 5.4.1
  • Issue #131204372: Main dex list is empty with dynamic features and Proguard
  • Issue #131114388: R8 - D8 FIrebase performance plugin - Caused by: com.android.tools.r8.utils.AbortException: Error: program input module-info.class', Unsupported source file type
  • Issue #118363127: Improve Application packaging performance
  • Issue #126874329: Turkish Letters Bug
  • Issue #127691661: APK for minSdkVersion=M+, so files should not be compressed by default.
Gradle Sync
IntelliJ
Layout Editor
Lint
  • Issue #124466808: IconExpectedSize triggered on icon that was generated from Android Studio
  • Issue #129985008: DuplicateResourceDetector throws StringIndexOutOfBoundsException with " \" in strings.xml
  • Issue #131073349: Lint fails to add all densities/orientations of a resource to baseline, then fails on subsequent runs
  • Issue #130892328: False positive DrawAllocation
New Project Wizard
  • Issue #130169021: New library modules generated in Android Studio do not set consumerProguardFiles in the gradle script
Project Structure Dialog
  • Issue #131468843: PSD reports "release" build as missing if it is not explicitly declared
  • Issue #131481330: PSD does not reload errors.suggesting when receives additional data from Gradle
Project System
  • Issue #130226195: Warning when opening KTS-based project
  • Issue #131210383: Cannot resolve symbol BuildConfig on 3.5 Canary 13
  • Issue #123677461: Android Gradle Plugin Update adds extra google() repository when doing repository configuration
Run Debug
  • Issue #131170197: Detect and warn if debugging an app that is not "debuggable"
Shrinker (R8)
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.


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

This update includes fixes for the following public issues:

Updates the Android Gradle plugin to using Gradle 5.4.1
R8 - D8 FIrebase performance plugin - Caused by: com.android.tools.r8.utils.AbortException: Error: program input module-info.class', Unsupported source file type
Main dex list is empty with dynamic features and Proguard
java.lang.IllegalAccessError: Illegal class access
Android Stuido 3.4 R8 proguard assumenosideeffects
Android Studio 3.5 Canary 13 - NullPointerException in com.android.tools.r8.naming.ClassNameMinifier
Request: always choose correct size when importing an SVG to be converted into VectorDrawable
Adding button breaks Layout builder
Code Formatting changes the order of <include> components in Layout hierarchy
Code Style gone from preferences
Cannot resolve symbol BuildConfig on 3.5 Canary 13
Warning when opening KTS-based project
PSD reports "release" build as missing if it is not explicitly declared
PSD does not reload errors.suggesting when receives additional data from Gradle

For information on new features and changes in all preview builds of Android Studio 3.5, 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.0.10 is now available in the Canary and Dev channels. Changes:
  • Fixed unnecessary pipeline barrier in emulated compressed textures in Vulkan.
  • Fixed error in http proxy when chunked transfer encoding is used. Details
  • Allow custom Qt library paths via the ANDROID_QT_LIB_PATH environment variable.
  • Allow running with previous emulator binaries that had QEMU1 if the QEMU1 executables (emulator[64]-[x86|arm|etc]) are placed in the emulator directory.
Note: We are aware from user reports that recent emulator versions are not compatible with macOS versions older than 10.12. This is due to having upgraded the Qt library. We are working on a solution to put those users on a previous stable version and/or include the older Qt libraries in a separate directory. To unblock those users, the previous macOS emulator version can be downloaded here: https://dl.google.com/android/repository/emulator-darwin-5395263.zip

Android Studio 3.4.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 (or Android Studio > Check for Updates on macOS). Otherwise, you can download here.

This minor release improves stability and performance, and includes fixes for the following issues:
Data Binding
  • Issue #122464849: DataBinding - Layout "class" attribute in "data" tag throws error
  • Issue #122936785: Databinding does not work with com.android.tools.build:gradle:3.4.0-beta01
  • Issue #122066788: NullpointerException in android.databinding.ViewDataBinding
Dexer (D8)
  • Issue #129362492: Studio 3.4 RC2 appears to ignore Java compatibility level for non-debug build variants, will not deploy app
  • Issue #129730297: Java 8 methods of java.lang.Long and java.lang.Character are not desugared by D8
  • Issue #129901036: NPE on workaroundExceptionTargetingLoopHeaderBug
Editing
Gradle
Layout Editor
Shrinker (R8)
  • Issue #128987064: calling class mis-attributed leading to illegal invoke-super
  • Issue #127932803: Extra rules needs to be added for keeping library dependency (slf4j) when using R8
  • Issue #130135768: The "keeppackagenames" rule does not work.
  • Issue #129410384: VerifyError: register has type Reference Object[] but expected Reference Parcelable[]
  • Issue #129935705: Make warnings for -optimizationpasses and -optimizations info
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.

We are happy to announce the release of ConstraintLayout 2.0 beta 1. APIs are now considered stable for the remaining of the 2.0 release cycle.

It’s available from the google maven repository:
dependencies {
  implementation 'com.android.support.constraint:constraint-layout:2.0.0-beta1'
}
or if using the AndroidX packages:
dependencies {
   implementation 'androidx.constraintlayout:constraintlayout:2.0.0-beta1'
}

Documentation is available on https://developer.android.com/reference/android/support/constraint/classes.html

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

New in Beta1

Flow virtual layout

  • bug fixes (padding behavior + wrap content behavior)
  • addition of addView()/removeView() on ConstraintHelper, allowing runtime addition/removal of refrenced views

MotionLayout

Enhanced Staggered API

Previously staggered had just one attributes in <Transition>: staggered=”float”. It would stagger the animation transition of all objects based on their Manhattan distance from the top left corner.

You can now define in a ConstraintSet:


<ConstraintSet android:id="@+id/state1">

  <Constraint
      android:id="@id/view1">
      <Motion
          motion:motionStagger="1"/>
  </Constraint>

  <Constraint
      android:id="@id/view2"
      ….
     motion:motionStagger="1" />
 
</ConstraintSet>



This assigns a floating point stagger value to each view tagged with motionStagger (Views not tagged are ignored). The view with the lowest floating point value (V0) is started first. The view with the highest floating point value (Vn) is started last.

Let
  • The motionStagger value is S(Vi)
  • The overall stagger value is stagger (from 0.0 - 1.0)
  • The duration of the animation is duration

The views animation duration = duration * (1 - stagger)
The view starts animating at duration * (stagger - stagger * (S(Vi) - S(V0)) / (S(Vn) - S(V0)))

OnSwipe onTouchUp Modes


We changed removed the attribute “autoComplete” and changed to onTouchUp

motion:"

onTouchUp has the following modes:
  • autoComplete - normal default behavior
  • autoCompleteToStart - same as normal engine but always goes to start.
  • autoCompleteToEnd - same as normal engine but always goes to start.
  • stop - stop where you are
  • decelerate - linear drop in velocity allowing hitting the start or end with velocity
  • decelerateAndComplete - like decelerate but if insufficient velocity to end switch to autoComplete


motion:onTouchUp="decelerateAndComplete"



visibilityMode


We added the ability to ignore the visibility of a view. This allows the applications to control the visibility and not have MotionLayout set it.

motion:visibilityMode="ignore"


TransitionListener Callback interface change

One new API was added to the callback to allow you to programmatically block a transition.

public interface TransitionListener {
  public void onTransitionStarted(MotionLayout motionLayout,
                                  int startId, int endId);
  void onTransitionChange(MotionLayout motionLayout,
                          int startId, int endId,
                          float progress);

  void onTransitionCompleted(MotionLayout motionLayout, int currentId);
  public void onTransitionTrigger(MotionLayout motionLayout, int triggerId, boolean positive,
                                  float progress);

  boolean allowsTransition(MotionScene.Transition transition);
}


Attribute changes

In general we adopted a policy that if there is an android attribute we use it.

Old
new
app:layout_width
app:layout_height
app:layout_marginStart
app:layout_marginBottom
app:layout_marginTop
app:layout_marginEnd
app:layout_marginLeft
app:layout_marginRight
app:visibility
app:alpha
android:layout_width
android:layout_height
android:layout_marginBottom
android:layout_marginBottom
android:layout_marginTop
android:layout_marginEnd
android:layout_marginLeft
android:layout_marginRight
android:visibility
android:alpha