[go: up one dir, main page]

Release updates archive

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

Fixes
  • On some remote desktop setups, it was possible to get a black screen when launching the emulator on Linux. We now explicitly configure MESA_RGB_VISUAL to avoid this. Details
  • Fixed incorrect usage of SO_REUSEADDR. Details
  • Fixed issue where rotate buttons would appear on TV AVDs. https://issuetracker.google.com/127956599
  • Fixed issue where if emulator was set always on top, the extended controls window would mysteriously appear every time the emulator was rotated. https://issuetracker.google.com/128455869
  • To address issues with some Linux installs containing incompatible versions of some Qt dependent libraries, we now package libfreetype, libsoftokn, and libsqlite3 with the emulator.
  • Fixed failure to snapshot load on GLES1 apps and API 15 and 16.

AR Macros

The emulator can now play back from a set of preset motions in order to make it easier to test AR apps on the emulator.

The controls can be found in Extended Controls > Record and Playback > Macro Playback. When a macro is played back, the emulator's virtual sensors will generate values that reflect the motion, and the virtual scene camera will update according to the motion.


RAM Usage Metrics

In continuing to address emulator resource usage, the emulator now sends RAM usage metrics in a 10 second interval for opt-in users, in order for us to get a clearer picture of how the emulator is typically used.


Emulator in CI


We're still working to make life easier for our CI users. On Linux, the headless build now does not use pulseaudio nor X11, enabling running in an even wider variety of environments. The system dependent shared libraries that are not packaged with the emulator are now reduced to:
  1. linux-vdso.so.1
  2. libutil.so.1
  3. libm.so.6
  4. libdl.so.2
  5. librt.so.1
  6. libpthread.so.0
  7. libgcc_s.so.1
  8. libc.so.6
  9. ld-linux-x86-64.so.2
More details on the change
More info on headless builds

Graphics
  • Added support for the GLES extensions GL_EXT_texture_format_BGRA8888 and GL_APPLE_texture_format_BGRA8888 if supported on host.
  • Vulkan is now supported experimentally on Windows and Linux given a host GPU that supports Vulkan and upcoming Q images (or the latest AOSP master system image). To enable the Vulkan driver and testing Vulkan apps:
    • echo "Vulkan = on" >> ~/.android/advancedFeatures.ini
    • echo "GLDirectMem = on" >> ~/.android/advancedFeatures.ini

Emulator 28.0.25 is now available in the Stable channel.

Changes versus 28.0.23:


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

Known issues

Due to a bug in 3.5 Canary 8, no patches are available from that version to any other. If you are using Canary 8 and want to upgrade, please download the IDE. We apologize for any inconvenience.

General fixes

This update includes fixes for the following public issues:
Build
Gradle
Layout Editor
Project System
  • Issue #117642376: Running unit tests through Android Studio 3.2.1 does not work when class has certain dependencies
Project View
  • Issue #118331259: Source files of Kotlin multiplatform modules are not shown in `Android` project view
  • Issue #128376513: Bug: no preview for a simple circle shape
Resource Management
  • Issue #128417956: [Accessibility] Missing tooltip/accessible text on some button
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.


Android Studio 3.5 Canary 8 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:
APK Viewer Build
  • Issue #123895238: Execution failed for task ':app:generateJsonModelDebug' Format specifier '%s'
Core IDE Data Binding Debugger Gradle
  • Issue #124208289: Android Studio includes all densities and ABIs when deploying to a device
  • Issue #123303852: BuildConfig.APPLICATION_IS is confusing in library module
  • Issue #124235144: Reading META-INF/proguard files that are not inside .aars or .jars
  • Issue #117869443: Disallow manual split="foo" in dynamic feature manifests
Gradle Sync Layout Editor
  • Issue #128284728: [PropertyPanel] Typing a value moves the caret randomly and throw a out of bound exception
Lint
  • Issue #124274575: @CallSuper in Java8 Interface with default implementation for method issue
Navigation Editor New Project Wizard Profilers
  • Issue #125166472: Cannot open trace files generated with Debug.startMethodTracing in Android Studio
Run Debug 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 28.1.12 is now available in the Canary and Dev channels.
Emulator 28.0.25 is now available in the Beta channel.

Changes common to 28.1.12 and 28.0.25 versus 28.1.11 and 28.0.23:
  • Users were experiencing "unauthorized" emulators due to an incompatible change in adb from platform-tools 28.0.2.
  • ADB from platform-tools 28.0.2 can now be safely used with the emulator. If you are experiencing issues with "unauthorized" emulators:
    • Exit all emulators
    • Delete ~/.android/adbkey and ~/.android/adbkey.pub
    • adb kill-server
    • adb devices
    • Wipe data of AVD
    • Relaunch emulator
  • Fixed twitching, incorrect frame display on Intel GPUs when running Q system images.
  • Fixed black screen when using Q system images with Pixel 2 XL skins.
  • The latest BIOS binaries are now used to start up the emulator.
Changes in 28.1.12 versus 28.1.11:
  • Emulator no longer pauses on minimize. Instead, use the console commands:
    • adb emu avd pause
    • adb emu avd resume
  • Fixed issue where foldable UI would show on restoring from minimize.
  • Fixed issue where tool window would disappear on restoring from minimize.
  • Fixed issue where emulator on macOS would crash on restoring from minimize.
  • Moved performance stats page to Extended Controls > Settings > Advanced > Performance Stats button.
  • Put back support for the e1000 virtual network device.
  • Fixed race condition when initializing Vulkan.
  • We now ship our own Vulkan loader on Linux in order to circumvent issues with incompatible Vulkan loaders on the Linux system.
  • Vulkan 1.1 is now enabled given a host GPU that supports Vulkan 1.1 if the Vulkan and GLDirectMem feature flags are enabled. This will also require an upcoming Q system image.
Changes in 28.0.25 versus 28.0.23:

Emulator 28.1.11 is now available in the Canary and Dev channels. Changes:
  • Fixed crash in Qt's libpng image decoding when starting certain system images. We now use our own copy of libpng to decode PNG images.
  • Fixed GL error on host in glTexSubImage2D when updating certain gralloc buffer formats (RGB 565, RGB10A2, RGB(A)16F).
  • Fixed display issue in Q system images with snapshots where the notification shade's geometry was rendered with an improper instance divisor setting.
  • Upgraded emulator's ffmpeg to version 3.4.5 for video encoding/decoding. Screen recording should still work; please let us know if this causes any issues.


Android Studio 3.4 Release Candidate 2 (RC2) 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 includes fixes for the following public issues:
Build
  • Issue #123895238: Execution failed for task ':app:generateJsonModelDebug' Format specifier '%s'
Shrinker (R8) Core IDE
  • Issue #127878116: Updating from 3.4-BETA5 to 3.4-RC1 couldn't import previous configuration
Data Binding
  • Issue #120277395: AndroidX compilation failure: "cannot generate view binders: Stream closed"
Layout Editor
  • Issue #124232637: Property Panel: false negative error shown for listitem
  • Issue #124254043: RecyclerView tools attributes are not available during completions
New Project Wizard
  • Issue #127210786: Incorrect mParentActivity Type via Master/Detail Activity Wizard
Gradle Sync For information on new features and changes in all preview builds of Android Studio 3.4, 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 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.

This update includes fixes for the following public issues:
  • Issue #116699306: Illegal character '-' in module name
  • Issue #121288180: The databinding annotation processor is injecting an absolute path into KotlinCompile (and maybe AndroidJavaCompile?), which defauts Gradle's remote build cache
  • Issue #67575899: Impossible to specify more than 255 file extensions for aaptOptions noCompress
  • Issue #123423125: AAPT2 crashes if plurals in xml contain an apostrophe
  • Issue #120898718: SVG with subpaths beginning with 'm' commands fails to convert properly
  • Issue #119517432: Exception on BR class completion from Java
  • Issue #119876558: Data binding, layout, TextView android:text, expression language, common feature, comparison lesser than '<' produces error message.
  • Issue #124763193: Refactoring method name doesn't work
  • Issue #122698932: Layout preview rerenders too often when typing in the XML editor
  • Issue #126165767: DDMLIB process uses a full CPU core even when no device / emulator is connected
  • Issue #112456379: Kotlin main classes appear on the class path before test classes when running unit tests
  • Issue #125432826: ConstraintLayout complains about missing constraints
  • Issue #123377224: Run/Debug Configuration dialog's Deployment Target Options drop-down combo box always resets to "Use the device/snapshot drop down" option
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 28.1.10 is now available in the Canary and Dev channels. Changes:

Project Marble
  • Performance monitoring. We've added more detailed monitoring to emulator performance and resource usage.
    • SHOW_PERF_STATS=1. This environment variable enables tracking CPU and memory usage and also breaks down memory usage of graphics versus total resident memory.
    • ANDROID_EMU_TRACING=1. This environment variable enables printing every time an input or graphics operations takes a long time (defined to be >1 ms).
      • This is to address concerns from users where on Windows, more jank (dropped frames) is experienced versus on macOS/Linux. We're now paying more attention to this issue, and noticed that long graphics operations happen tend to take even longer on Windows, which may point to the cause.
  • Graphics optimization. Sped up uniform uploads (glUniform*) by 10-20%.
  • LC_ALL=C by default. To address issues with crashes and other problems stemming from different locales, we now set LC_ALL=C by default.
  • Host audio input control for CI setups. To work better with CI setups that need to use host audio input, we've added a command line flag and console command to allow host audio.
    • Command line flag: -allow-host-audio: Microphone will be activated on startup.
    • Console command: adb emu avd hostmicon, adb emu avd hostmicoff: Control whether host audio input is used.
  • More quality improvements for CI users.
    • emulator-headless now should not depend on system libc++, and properly uses the included libc++ that we ship.
    • To address issues with unexpected EOF when logcat prints a lot, we've increased the logcat buffer size to 2M.
Vulkan
  • Removed a code path where Vulkan support check was incorrectly ran when the feature flag was not enabled.
  • We now support VK_ANDROID_external_memory_android_hardware_buffer, enabling Skia Vulkan Android UI with a properly set-up system image.
Foldable device
  • We saw that foldable emulator UI was being activated improperly in some cases. To address this, foldable is now a hardware property in AVD config.ini.


Android Studio 3.4 Release Candidate 1 (RC1) 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:
  • Issue #67575899: Impossible to specify more than 255 file extensions for aaptOptions noCompress
  • Issue #124471103: lint.jar does not show up in packaged AAR libraries when using lintPublish
  • Issue #123423125: AAPT2 crashes if plurals in xml contain an apostrophe
  • Issue #124437190: Artifact collection during MergeResources task can take very long for sufficiently large dependency graphs.
  • Issue #115687654: AGP 3.2.0-rc03 Spurious build failure: Comparison method violates its general contract!
  • Issue #111056281: AAPT2 does not disable versioning of ObjectAnimator resources referenced in animated vector drawables
  • Issue #126273993: Dexer generates illegal move instructions assiging integers to doubles
  • Issue #123068053: D8 produces incorrect debug information for lambda desugaring.
  • Issue #124655989: Use of -whyareyoukeeping causes R8 compilation to fail
  • Issue #126592786: Incorrectly removing refrenced class
  • Issue #126871526: New bots cannot archive
  • Issue #124357885: Vertical class merging is not updating @dalvik.annotation.Signature value.
  • Issue #113374256: Cannot get from DexEncodedMethod to holder DexClass for outline methods
  • Issue #74379749: R8 keeps un-initialized static field which are only read
  • Issue #124181032: cannot parse keepclassmembers which contains excludes
  • Issue #124181030: Removed interfaces need to account for ServiceLoader resource filenames
  • Issue #124584385: IndexOutOfBoundsException when enable R8
  • Issue #124457717: R8 NullPointerException with OkHttp 3.13.1
  • Issue #126443924: transformClassesAndResourcesWithR8 failed java.lang.IllegalStateException
  • Issue #124593221: Error generating the app bundle when using coroutines 1.1.1
  • Issue #124155517: runtime NPE in Kotlin Coroutine Dispatcher
  • Issue #123390221: Lambda debugging tests started failing on the bots
  • Issue #123730537: Main application class can't be loaded (ClassNotFoundException), but exists in classes2.dex
  • Issue #124356534: Can't change Foreground layer Clip Art color in Image Asset studio
  • Issue #120898718: SVG with subpaths beginning with 'm' commands fails to convert properly
  • Issue #119372339: SVG containing clip paths and transforms does not preview or export to VectorDrawable correctly in Android Studio
  • Issue #126165767: DDMLIB process uses a full CPU core even when no device / emulator is connected
  • Issue #119924169: SVG-to-Vector converter breaks if element is declared inside of a element
  • Issue #119882812: Vector Import tool does not render the intended output.
  • Issue #112456379: Kotlin main classes appear on the class path before test classes when running unit tests
  • Issue #121341637: Internal lint error
  • Issue #123377555: Custom Lint check not showing up with AS + AGP 3.4.0-beta02
  • Issue #127213632: NewModuleTest.addNewModuleToAndroidxProject fails on studio-3.4-dev
For information on new features and changes in all preview builds of Android Studio 3.4, 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.3.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 (or Android Studio > Check for Updates on macOS). Otherwise, you can download here.

This minor release improves stability and performance, and fixes various bugs, such as the following:
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.

Emulator 28.1.9 is now available in the Canary and Dev channels. Changes:

Project Marble:
  • To address CPU usage, we now run the following ADB commands on a cold boot when detecting boot complete:
    • adb shell settings put system screen_off_timeout 214783647
    • adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
    • The first command increases the screen off timeout so the emulator can be used in battery mode without charging.
      • In battery mode, background CPU usage is greatly reduced.
      • In AC charging mode, GMSCore background operations such as app updates can take over all CPU cores of the entire device with no warning (and by extension, the user's machine).
      • We shipped the screen off timeout command in 28.1.7, but we are adding a second invocation on boot complete in order to address issues with sending the command reliably.
    • The second command revokes microphone permissions for the Google search app, which greatly reduces background CPU usage on the home screen and in the launcher when the Google search app is active.
      • In 28.1.4 we disabled host audio input by default.
      • In 28.1.4 we also described how revoking the microphone permissions would also suppress the request on the Android OS end, which greatly reduces background CPU usage. Now, permission revoking is done automatically by default on every cold boot.
  • Removed a major source of "VCPU shutdown request" errors on Windows when launching the emulator.
  • We collected crash data from the Vulkan support check and we noticed that users on AMD GPUs will need to update their drivers to a recent version. We tested the following version on RX 580 and it seems to have resolved a crash on calling vkCreateInstance:
    • Driver version: 25.20.15021.1007
    • Radeon version: 19.2.2
  • Due to the issue on AMD GPUs, we have turned off the Vulkan support check for now and will instead use a whitelist of GPUs.