The Android SDK is composed of modular packages that you can download separately using the Android SDK Manager. For example, when the SDK Tools are updated or a new version of the Android platform is released, you can use the SDK Manager to quickly download them to your environment. Simply follow the procedures described in Adding Platforms and Packages.

The Android SDK Platform-Tools is a component for the Android SDK. It includes tools that interface with the Android platform, such as adb, fastboot, and systrace. These tools are required for Android app development. They're also needed if you want to unlock your device bootloader and flash it with a new system image.

Although some new features in these tools are available only for recent versions of Android, the tools are backward compatible, so you need only one version of the SDK Platform-Tools.

If you do not need Android Studio, you can download the basic Android command line tools. You can use the included sdkmanager to download other SDK packages.

What's New

34.0.5 (October 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.

34.0.4 (July 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"

34.0.1 (March 2023)

adb

  • macOS: Reverted "unstable connectivity (MacBook high speed cable)" resolution due to adb install hang (issue #270205252).

fastboot

  • Windows: Fixed "mke2fs: Illegal or malformed device name while trying to determine filesystem size" error introduced in Platform tools 34.0.0 (issue #271039230).

SDK Platform Tools 33.0.3 changelog

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.

Previous release notes

SDK Platform Tools Windows 33.0.0

adb

  • Fixes the issue introduced in 32.0.0 of crashes when run without any arguments.
  • Disable compression on pull by default.
  • Improve performance of adb push when pushing many files over a high-latency connection.
  • Improve adb push/pull performance on Windows.
  • Fix adb push --sync with multiple inputs.
  • Improve performance of incremental apk installation.
  • Improve error handling for incremental apk installation.

30.0.4

adb

  • Fix fallback to non-incremental apk installation on pre-Android 11 devices.
  • Fix adb install-multi-package.
  • Fix some more crashes related to adb wireless pairing.
  • Improve some error messages.

fastboot

  • Improve console output on fastboot oem commands.
  • Fix fastboot flashall on Nexus 7.

30.0.4 Command-line tools:

adb

  • Fix installation of APKs signed with v4 signature scheme on pre-Android 11 devices.
  • Fix crash when authenticating without ADB_VENDOR_KEYS.
  • Fix crash when using adb -H.

Previous release notes:

  • A command-line version of the Apk Analyzer has been added in tools/bin/apkanalyzer. It offers the same features as the Apk Analyzer in Android Studio and can be integrated into build/CI servers and scripts for tracking size regressions, generating reports, and so on.
  • ProGuard rules files under tools/proguard are no longer used by the Android Plugin for Gradle. Added a comment to explain that.
  • When creating an AVD with avdmanager, it is no longer necessary to specify --tag if the package specified by --package only contains a single image (as is the case for all images currently distributed by Google).

There are several different packages available for the Android SDK. The table below describes most of the available packages and where they're located once you download them.

29.0.5 (October 2019) Command-line tools:

adb

  • Slight performance improvement on Linux when using many simultaneous connections.
  • Add --fastdeploy option to adb install, for incremental updates to APKs while developing.

Available Packages:

  • SDK Tools
    • Contains tools for debugging and testing, plus other utilities that are required to develop an app. If you've just installed the SDK starter package, then you already have the latest version of this package. Make sure you keep this up to date.
  • SDK Platform-tools
    • Contains platform-dependent tools for developing and debugging your application. These tools support the latest features of the Android platform and are typically updated only when a new platform becomes available. These tools are always backward compatible with older platforms, but you must be sure that you have the latest version of these tools when you install a new SDK platform.
  • Documentation
    • An offline copy of the latest documentation for the Android platform APIs.
  • SDK Platform
    • There's one SDK Platform available for each version of Android. It includes an android.jar file with a fully compliant Android library. In order to build an Android app, you must specify an SDK platform as your build target.
  • System Images
    • Each platform version offers one or more different system images (such as for ARM and x86). The Android emulator requires a system image to operate. You should always test your app on the latest version of Android and using the emulator with the latest system image is a good way to do so.
  • Sources for Android SDK
    • A copy of the Android platform source code that's useful for stepping through the code while debugging your app.
  • Samples for SDK
    • A collection of sample apps that demonstrate a variety of the platform APIs. These are a great resource to browse Android app code. The API Demos app in particular provides a huge number of small demos you should explore.
  • Google APIs
    • An SDK add-on that provides both a platform you can use to develop an app using special Google APIs and a system image for the emulator so you can test your app using the Google APIs.
  • Android Support
    • A static library you can include in your app sources in order to use powerful APIs that aren't available in the standard platform. For example, the support library contains versions of the Fragment class that's compatible with Android 1.6 and higher (the class was originally introduced in Android 3.0) and the ViewPager APIs that allow you to easily build a side-swipeable UI.
  • Google Play Billing
    • Provides the static libraries and samples that allow you to integrate billing services in your app with Google Play.
  • Google Play Licensing
    • Provides the static libraries and samples that allow you to perform license verification for your app when distributing with Google Play.

Download links for previous version Android SDK 25.2.3: