What's new in Android SDK Platform Tools 35.0.1

Mar 25, 2024
  • adb:
  • Switch to libusb 1.0.27

New in Android SDK Platform Tools 35.0.0 (Mar 7, 2024)

  • ADB:
  • Switch to libusb as the default on Linux issue #270205252.
  • Fix adb startup on hosts without USB.
  • Fix adb hangs caused by USB devices incorrectly reporting zero-length descriptors issue #302212871.
  • Fix return code of adb shell when device disconnects issue #321787891.
  • FASTBOOT:
  • Limit the maximum size of the incoming packet queue.
  • Remove bottlenecks that previously limited download speeds to around 120MB/s. Now fastboot can saturate a SuperSpeed+ bus and achieve speeds up to 980MB/s, depending on the device.

New in Android SDK Platform Tools 34.0.5 (Nov 8, 2023)

  • adb:
  • adb now defaults to libusb on macOS to address issue #270205252.
  • Previously, adb responded with a successful code when wireless pairing fails. Resolved this by returning a failure code (1) and user-facing error (error: protocol fault (couldn't read status message...)). echo $? now reports 1.
  • adb wait-for-disconnect is now operational for non-USB (wireless debugging).
  • Added new DbC interface for future support of ChromeOS over adb.
  • fastboot:
  • Fixed flashall on Pixel 3 devices.

New in Android SDK Platform Tools 34.0.4 (Jul 14, 2023)

  • ADB:
  • Propagate -a (gListenAll) when adb forks an adb host server (previously, the flag only worked for adb -a server nodaemon)
  • Faster root and unroot
  • Reland Flag(env) guarding clear endpoint (device) feature for OSX usb start. (issue #270205252).
  • FASTBOOT:
  • Mac: remove retries on invalid IO iterator (flashing failure with LIBUSB_TRANSFER_CANCELLED)
  • Windows: fix "Sparse file is too large or invalid" when using "flashall"
  • All platforms: fix "ANDROID_PRODUCT_OUT not set" when using "update"

New in Android SDK Platform Tools 34.0.1 (Mar 6, 2023)

  • ADB:
  • macOS: Reverted "unstable connectivity (MacBook high speed cable)" resolution due to adb install hang (https://issuetracker.google.com/issues/270205252).
  • FASTBOOT:
  • Windows: Fixed "mke2fs: Illegal or malformed device name while trying to determine filesystem size" error introduced in Platform tools 34.0.0 (https://issuetracker.google.com/issues/271039230).

New in Android SDK Platform Tools 34.0.0 (Feb 13, 2023)

  • adb :
  • Fixed zero length packet sends for macOS (issuetracker: 208675141).
  • Addressed unstable connectivity (MacBook high speed cable): frequent adb disconnects.
  • Improved error message for adb push with insufficient number of arguments.
  • fastboot:
  • improved flashing: flashall will now skip reboots to userspace if it can.
  • Fixed zero length packet sends for macOS (issuetracker: 208675141).
  • Fixed flashing recovery.img resulting in wrong AVB footer.

New in Android SDK Platform Tools 33.0.3 (Aug 24, 2022)

  • adb:
  • Don't retry adb root if first attempt failed.
  • Fix track-devices duplicate entry.
  • Add receive windowing (increase throughput on high-latency connections).
  • More specific error messages in the "more than one device" failure cases.
  • Reject unexpected reverse forward requests.
  • Fix install-multi-package on Windows.
  • fastboot:
  • Remove e2fsdroid as part of SDK platform-tools.
  • Print OemCmdHandler return message on success.

New in Android SDK Platform Tools 33.0.2 (Jun 18, 2022)

  • fastboot:
  • Support for the vendor_kernel_boot partition.

New in Android SDK Platform Tools 33.0.1 (Mar 21, 2022)

  • adb:
  • Fixes Windows mdns crashes.
  • Fixes enable-verity/disable-verity on old devices.
  • Fixes "install multiple" on old devices
  • Improves the help output to include all supported compression methods.
  • systrace:
  • Removed. Use Studio Profiler/gpuinspector.dev/Perfetto instead

New in Android SDK Platform Tools 33.0.0 (Feb 24, 2022)

  • adb:
  • Fixes the issue introduced in 32.0.0 of crashes when run without any arguments.

New in Android SDK Platform Tools 32.0.0 (Jan 31, 2022)

  • adb:
  • Universal binary for Apple M1 devices.
  • Fixed adb without args SEGV crash.
  • Known issue:
  • this version crashes when run without any arguments.

New in Android SDK Platform Tools 31.0.3 (Aug 18, 2021)

  • fastboot:
  • Support flashing vbmeta_vendor.img for fastboot flashall / update.

New in Android SDK Platform Tools 3.1.2.0 (Apr 24, 2018)

  • In some cases, Android Studio hung indefinitely during exit.
  • Builds configured with source sets failed with the following message when Instant Run was enabled:
  • "The SourceSet name is not recognized by the Android Gradle Plugin."
  • When Instant Run was enabled, builds of new Kotlin projects failed when triggered by the Run command.
  • During editing of the build.gradle file, there was sometimes a noticeable delay between typing a character and the character appearing on the screen.
  • Build failures occurred during dexing in some projects with large numbers of modules or external dependencies, with the following error message:
  • "RejectedExecutionException: Thread limit exceeded replacing blocked worker"
  • The computation of the D8 main DEX list was not taking into account some reflective invocations.

New in Android SDK Platform Tools Release 9 (Jan 27, 2011)

  • The default ProGuard configuration, proguard.cfg, now ignores the following classes:
  • classes that extend Preference
  • classes that extend BackupAgentHelper
  • Ant lib rules now allow you to override java.encoding, java.source, and java.target properties.
  • The default encoding for the javac Ant task is now UTF-8.
  • The LogCat view in DDMS now properly displays UTF-8 characters.
  • The SDK Manager is more reliable on Windows. For details on the improvements, see the Android Tools Project Site.
  • If you enabled snapshots for an AVD, they are automatically captured. The emulator also now restores to the state when it last closed almost instantly.
  • Fixed the missing JAR file error that prevented draw9patch from running.
  • Fixed the Windows launch scripts hierarchyviewer and ddms to support the new location of adb.
  • Known issues with emulator performance: Because the Android emulator must simulate the ARM instruction set architecture on your computer, emulator performance is slow.

New in Android SDK Platform Tools 1.6 Release 2 (Dec 4, 2009)

  • API related:
  • Properly exposes CDMA-related constants in android.telephony.TelephonyManager: DATA_ACTIVITY_DORMANT, PHONE_TYPE_CDMA, NETWORK_TYPE_CDMA, NETWORK_TYPE_EVDO_0, NETWORK_TYPE_EVDO_A, and NETWORK_TYPE_1xRTT.
  • System image:
  • Fixes bug so that Bitmap's density is now propagated through Parcelable.
  • Fixes NinePatchDrawable to properly scale its reported padding for compatibility mode.
  • Fixes TextView to properly compute styled font metrics based on the screen density.
  • Updates kernel to 2.6.29, to match kernel on commercially available Android-powered devices.
  • Tools:
  • Adds new Ant build system with support for Emma instrumentation projects (code coverage).
  • Fixes emulator skins to properly emulate d-pad in landscape mode.
  • Fixes density rendering in the layout editor in ADT.

New in Android SDK Platform Tools 1.6 Release 1 (Sep 16, 2009)

  • Emulator support for multiple screen sizes/densities, including new skins.
  • Android SDK and AVD Manager, a graphical UI to let you manage your SDK and AVD environments more easily. The tool lets you create and manage your Android Virtual Devices and download new SDK packages (such as platform versions and add-ons) into your environment.
  • Improved support for test packages in New Project Wizard

New in Android SDK Platform Tools 1.5 Release 3 (Jul 17, 2009)

  • The Android 1.5 system delivered in the SDK (as library and system image) is the development counterpart to the Android 1.5 production system image, deployable to Android-powered handsets starting in May 2009. The system is fully compliant and includes no external libraries. This is the first version of the Android SDK that does not include the Maps external library.
  • The Android 1.5 system delivers an updated version of the framework API. As with previous versions, the Android 1.5 API is assigned an integer identifier — 3 — that is stored in the system itself. This identifier, called the "API Level", allows the system to correctly determine whether an application is compatible with the system, prior to installing the application.
  • Applications can reference a specific API Level value in their manifest files, to indicate the minimum version of the Android system required to run the application. To reference a minimum API Level, applications can add an android:minSdkVersion attribute in their manifest files. The value of the attribute is an integer corresponding to an API Level identifier. Prior to installing an application, the system then checks the value of android:minSdkVersion and allows the install only if the referenced integer is less than or equal to the API Level integer stored in the system itself.
  • When you migrate your application to the new SDK, you will need to choose the platform version against which you will compile your application. In general, you should compile your application against the lowest possible version of the platform that your application can support. After you determine the lowest version, you should ensure that your application's manifest file defines the API Level of the lowest compatible platform version in the android:minSdkVersion attribute.
  • After compiling your application, you should make sure to test it on the platform specified in the application's android:minSdkVersion attribute. To ensure forward-compatibility, you should also run the application on platforms using a higher API Level than that used by your application. To run your application against different platform versions in the emulator, you create an AVD for each platform version that you want to test. For more information about AVDs, see Android Virtual Devices. If you are using a physical device for testing, ensure that you know the API Level of the Android platform it runs.
  • If you build an application using the Android 1.5 library and your application makes use of any APIs introduced in API Level 3, you must set the android:minSdkVersion attribute in the application's manifest to "3".
  • Specifically, you define the android:minSdkVersion attribute in a element as a child of in the manifest file. When set, the attribute looks like this:
  • < manifest >
  • ...
  • < uses-sdk android:minSdkVersion="3" / >
  • ...
  • < /manifest >
  • By setting android:minSdkVersion in this way, you ensure that users will only be able to install your application if their devices are running a compatible version of the Android platform. In turn, this ensures that your application will function properly on their devices. This is especially important if your application uses APIs or system features introduced in Android 1.5.
  • If your application uses APIs introduced in Android 1.5 but does not declare < uses-sdk android:minSdkVersion="3" / >, then it will run properly on Android 1.5 devices but not on Android 1.0 devices. In the latter case, the application will crash at runtime when it tries to use the Android 1.5 APIs.
  • Conversely, if your application does not use any new APIs introduced in Android 1.5, the application will in most cases function normally on devices running a later version of the platform. However, if you have published the application, you are strongly encouraged to install and test your application on the Android 1.5 system image included in the SDK. This will ensure a smooth transition for users, as they upgrade their devices to the new version of the Android platform.
  • Finally, if your application does not use any new APIs introduced since Android 1.1, you can indicate general Android 1.1 compatibility by setting the attribute to "2". If your application does not use any new APIs introduced since Android 1.0, you can remove the attribute or set it to "1". However, before publishing your application, you must make sure to compile your application against the Android library that corresponds to the application's android:minSdkVeresion value.
  • API Changes:
  • UI framework:
  • Framework for easier background/UI thread interaction
  • New SlidingDrawer widget
  • New HorizontalScrollview widget
  • AppWidget framework:
  • APIs for creating secure home screen AppWidgets. For information about how to use AppWidgets, see the Developer's Guide AppWidgets documentation. Also see Introducing home screen widgets and the AppWidget framework on the Android Developer's Blog.
  • APIs for populating Live Folders with custom content.
  • Media framework:
  • Raw audio recording and playback APIs
  • Interactive MIDI playback engine
  • Video recording APIs for developers (3GP format)
  • Video and photo sharing Intents
  • Media search Intent
  • Input Method framework:
  • Input Method Service framework
  • Text-prediction engine
  • Ability to provide downloadable IMEs to users
  • Application-defined hardware requirements:
  • Applications can now use a new element in their manifest files, to indicate to the Android system what hardware features they require in order to function properly. For example, an application might use the element to specify that it requires a physical keyboard or a particular navigation device, such as a trackball. Prior to installing the application, the Android system checks the attributes defined for the element and allows the installation to continue only if the required hardware is present.
  • Speech recognition framework:
  • Support for using speech recognition libraries via Intent. See RecognizerIntent.
  • Miscellaneous API additions:
  • LocationManager - Applications can get location change updates via Intent
  • WebView - Touch start/end/move/cancel DOM event support
  • Redesigned Sensor Manager APIs
  • GLSurfaceView - convenience framework for creating OpenGL applications
  • Broadcast Intent for app update install succeeded - for smoother app upgrade experience

New in Android SDK Platform Tools 1.5 Release 1 (Apr 28, 2009)

  • Multiple versions of the Android platform are included (Android 1.1, Android 1.5). The tools are updated to let you deploy your application on any platform in the SDK, which helps you ensure forward-compitility and, if applicable, backward-compatibility.
  • Introduces Android Virtual Devices — (AVD) configurations of options that you run in the emulator to better model actual devices. Each AVD gets its own dedicated storage area, making it much easier to work with multiple emulators that are running concurrently.
  • Support for SDK add-ons, which extend the Android SDK to give you access to one or more external Android libraries and/or a customized (but compliant) system image that can run in the emulator.
  • The new Eclipse ADT plugin (version 0.9.0) offers new Wizards to let you create projects targetted for specific Android configurations, generate XML resources (such as layouts, animations, and menus), generate alternate layouts, and export and sign your application for publishing.
  • Improved JUnit support in ADT
  • Easier profiling of performance
  • Easier management of localized applications. You can now include or exclude locale resources when building your APK from a single Android project.
  • A new tool called "android" replaces the activitycreator script.

New in Android SDK Platform Tools 1.0 Release 1 (Sep 29, 2008)

  • Emulator:
  • Emulator now saves the user image in <android>/SDK1.0/
  • Fixed EsounD-related freezes on Linux.
  • Fixed the documentation in -help-audio. '-audio list' doesn't work, one needs to call -help-audio-out and -help-audio-in to get the list of valid audio backends.
  • Fixed scrollwheel Dpad emulation in rotated mode. before that, using the scroll-wheel would always generated Dpad Up/Down events, even when in landscape mode.
  • Several Obsolete command options were removed.
  • Setting the network speed through the console or the -netspeed option will properly modify the connectivity icon on the device.
  • Setting the GSM voice registration state to 'roaming' in the console will properly modify the voice icon on the device
  • SQLite:
  • SQLite is now included in the SDK package on all platforms.