Build, test, and debug apps for Android

Android SDK for Mac

Android SDK for Mac

  -  Freeware
  • Latest Version

    Android SDK 35.0.2 LATEST

  • Review by

    Daniel Leblanc

  • Operating System

    macOS 10.12 Sierra or later

  • User Rating

    Click to vote
  • Author / Product

    Google / External Link

Android SDK for Mac is the official software development package for developers who want to create Android applications that can take full advantage from entire Android hardware and software ecosystem. With fully integrated software stack that enables seamless access to SDK tools, plugins and utilities, anyone can easily start producing your first Android applications.

Note: This SDK Tools package is deprecated and no longer receiving updates. Instead, use the Android Studio.

The core parts of Android SDK including Tools, Android Platform Tools, latest Android platform, and latest Android system image for emulator are already included in the package. However, according to your own requirements, you can change system images and create your application for any android OS version you require.

With Android SDK for macOS, programmers get immediate access to all the necessary tools for planning, building, testing, debugging and profiling apps for Android. Offline documentation is provided, but you can also contact large online community and the app developers for help, tutorials and hint that will make your project run more smoothly. Additionally, you also get access to copy of the Android platform source code, which can make your debugging much more easier.

Features and Highlights

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 for Mac
A copy of the Android platform source code that's useful for stepping through the code while debugging your app.

Note: Requires JDK 5 or JDK 6 (JRE alone is not sufficient).

Also Available: Download Android SDK for Windows

  • Android SDK 35.0.2 Screenshots

    The images below have been resized. Click on them to view the screenshots in full size.

    Android SDK 35.0.2 Screenshot 1
  • Android SDK 35.0.2 Screenshot 2

What's new in this version:

Android SDK 35.0.2
adb:
- Fix openscreen mDNS backend bug bringing down server on truncated query issue
- Make openscreen mDNS backend work on macOS
- Make openscreen mDNS backend default on all platforms
- Support to detect USB SuperSpeed+ (current and negotiated speeds) for diagnostic purposes
- Graceful shutdown: Release all USB interfaces on shutdown (all OSes)


Android SDK 35.0.1
adb:
- Switch to libusb 1.0.27


Android SDK 35.0.0
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.


Android SDK 34.0.5
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


Android SDK 34.0.4
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

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"


Android SDK 34.0.1
adb:
- macOS: Reverted "unstable connectivity (MacBook high speed cable)" resolution due to adb install hang

fastboot:
- Windows: Fixed "mke2fs: Illegal or malformed device name while trying to determine filesystem size" error introduced in Platform tools 34.0.0


Android SDK 34.0.0
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


Android SDK 33.0.3
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


Android SDK 33.0.2
fastboot:
- Support for the vendor_kernel_boot partition


Android SDK 33.0.1
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


Android SDK 33.0.0
adb:
- Fixed the issue introduced in 32.0.0 of crashes when run without any arguments


Android SDK 32.0.0
adb:
- Fixed adb w/o args SEGV regression

fastboot:
- Reinstated recovery execution from b/158156979 (removal of preprocessor guards for root/secure)


Android SDK 31.0.3
fastboot:
- Support flashing vbmeta_vendor.img for fastboot flashall / update


Android SDK 31.0.2
adb:
- Support forwarding to vsock on linux
- Fix bug in adb track-devices where devices over wireless debugging wouldn't immediately receive updates
- Implement preliminary support for mDNS device discovery without a separately installed mDNS service. This is currently disabled by default, and can be enabled by setting the environment variable ADB_MDNS_OPEN_SCREEN to 1 when starting the adb server.

fastboot:
- Don't fail when unable to get boot partition size
- Derive device locked state from property instead of parsing the kernel command line


Android SDK 31.0.0
adb:
- Disable compression on pull by default


Android SDK 30.0.5
adb:
- 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


Android SDK 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


Android SDK 30.0.3
- 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


Android SDK 30.0.0
Adb:
- Add initial support for wireless pairing
- Add support for incremental APK installation
- Implement client-side support for compression of adb {push, pull, sync} when used with an Android 11 device
- Improve performance of adb push on high-latency connections


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


Android SDK 29.0.4
- adb: Hotfix for Native debugging timeout with LLDB issue


Android SDK 29.0.3
- adb forward --list works with multiple devices connected
- Fix devices going offline on Windows
- Improve adb install output and help text
- Restore previous behavior of adb connect without specifying port


Android SDK 29.0.2
- Change log not available for this version


Android SDK 29.0.1
- Change log not available for this version


Android SDK 28.0.2

adb:
- Fixes flakiness of adb shell port forwarding that leads to "Connection reset by peer" error message
- Fixes authentication via ADB_VENDOR_KEYS when reconnecting devices
- Fixes authentication—when the private key used for authentication does not match the public key—by calculating the public key from the private key, instead of assuming that they match

fastboot:
- Adds support for dynamic partitions.

Updated Windows requirements:
- The platform tools now depend on the Windows Universal C Runtime, which is usually installed by default via Windows Update. If you see errors mentioning missing DLLs, you may need to manually fetch and install the runtime package


Android SDK Release 28.0.1
adb:
- Add support for reconnection of TCP connections. Upon disconnection, adb will attempt to reconnect for up to 60 seconds before abandoning a connection
- Fix Unicode console output on Windows. (Thanks to external contributor Spencer Low!)
- Fix a file descriptor double-close that can occur, resulting in connections being closed when an adb connect happens simultaneously
- Fix adb forward --list when used with more than one device connected

fastboot:
- Increase command timeout to 30 seconds, to better support some slow bootloader commands


Android SDK Release 28.0.0

adb:
- Add support for checksum-less operation with devices running Android P, which improves throughput by up to 40%
- Sort output of adb devices by connection type and device serial
- Increase the socket listen backlog to allow for more simulataneous adb commands
- Improve error output for adb connect

fastboot:
- Improve output format, add a verbose output mode (-v)
- Clean up help output
- Add product.img and odm.img to the list of partitions flashed by fastboot flashall
- Avoid bricking new devices when using a too-old version of fastboot by allowing factory image packages to require support for specific partitions


Android SDK Release 27.0.1
- Android Device Bridge (adb): fixes an assertion failure on MacOS that occurred when connecting devices using USB 3.0
- Fastboot: On Windows, adds support for wiping devices that use F2FS (Flash-Friendly File System)


Android SDK Release 27.0.0
- Re-fixes the macOS 10.13 fastboot bug first fixed in 26.0.1, but re-introduced in 26.0.2


Android SDK Release 26.0.2
- Add fastboot support for Pixel 2 devices


Android SDK Release 26.0.1
- Fixed fastboot problems on macOS 10.13 High Sierra (bug 64292422)


Android SDK Release 26.0.0
- Updated with the release of Android O final SDK (API level 26)


Android SDK 25.2.5

Dependencies:
- Android SDK Platform-Tools revision 24 or later

Android Emulator bug fixes:
- Fixed a crash on async socket reconnect
- Fixed a crash on Mac when glDeleteTextures() is called after the corresponding context was destroyed


Android SDK 25.2.3

Dependencies:
- Android SDK Platform-tools revision 24 or later
- Added new sdkmanager command line tool to view, install, update, and uninstall individual Android SDK packages

New Android Emulator features and bug fixes:
- Fixed -gpu guest (issue 227447)
- Added support for WebP image decoding
- Added support for ETC2 texture decompression


Android SDK 24.4.1
Dependencies:
- Android SDK Platform-tools revision 23 or later.

General Notes:
- Fixed a problem where the emulator title bar was hidden off screen.
- Enabled the emulator to resize the user data partition by including e2fsprogs binaries.
- Fixed a regression on the 32-bit Windows OS where the emulator fails to boot Android 6.0 (API level 23) through Android 5.0 (API level 21) system images.

Android SDK 24.3.4
General Notes:
- Added support for Android 6.0 (API level 23) platform.

Emulator:
- Improved emulator performance on multi-core Windows desktops. (Issue 101040)
- Added support for GPU emulation on Windows and Linux platforms using the -gpu mesa command line option.
- Enabled support for running emulators with GPU emulation through remote desktop services, including Chrome Remote Desktop, Windows Terminal Services, and NoMachine.
- Added support for emulators with 280 dpi and 360 dpi screen resolutions.
- Improved support for GLES 2.0 extensions.
- Fixed several issues with GPU emulation support.
- Added support for setting the storage size on emulators using Android 4.4 (API level 19) and higher. (Issue 75141)
- Fixed problem with sending long SMS messages between emulators. (Issue 3539)
- Fixed issue with emulator getting incorrect time from location objects. (Issue 27272)
- Added handling for unusual characters in paths and file names when starting emulators. (Issue 35889)

Android SDK 24.0.1
Dependencies:
- Android SDK Platform-tools revision 19 or later.
General Notes:
- Fixed issue with creating projects and activities from templates using Eclipse ADT.

Android SDK 24.0.1
Dependencies:
- Android SDK Platform-tools revision 19 or later.
General Notes:
- Fixed Java detection issue on 32-bit Windows systems.

Android SDK 24.0
Dependencies:
- Android SDK Platform-tools revision 19 or later.

General Notes:
- Added support for Andriod Studio 1.0 and emulator enhancements.

Android SDK 23.0.2
Dependencies:
- Android SDK Platform-tools revision 19 or later.
- If you are developing in Eclipse with ADT, note that this version of SDK Tools is designed for use with ADT 23.0.2 and later. If you haven't already, update your ADT Plugin to 23.0.2.
- If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

General Notes:
- Added ProGuard .bat files that were missing.
- Added the proguard-android.txt file that was missing.
- Renamed the lombok-ast-0.2.2.jar file to lombok-ast.jar, which should allow running lint from the command line

Android SDK 23.0
Dependencies:
- Android SDK Platform-tools revision 19 or later.
- If you are developing in Eclipse with ADT, note that this version of SDK Tools is designed for use with ADT 23.0.0 and later. If you haven't already, update your ADT Plugin to 23.0.0.
- If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

General Notes:
- Added the Android Wear tools and system images.

Android SDK 22.6.4
Dependencies:
- Android SDK Platform-tools revision 18 or later.
- If you are developing in Eclipse with ADT, note that this version of SDK Tools is designed for use with ADT 22.6.3 and later. If you haven't already, update your ADT Plugin to 22.6.3.
- If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

General Notes:
- Fixed an issue with the x86 emulator that caused Google Maps to crash. (Issue 69385)
- Fixed minor OpenGL issues.

Android SDK 22.6.3
Dependencies:
- Android SDK Platform-tools revision 18 or later.
- If you are developing in Eclipse with ADT, note that this version of SDK Tools is designed for use with ADT 22.6.3 and later. If you haven't already, update your ADT Plugin to 22.6.3.
- If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

General Notes:
- Fixed a problem where the AVD manager allowed creating Android Wear virtual devices with a target API Level lower than 19.
- Fixed the description of Android Wear system images in the SDK Manager.

Android SDK 22.6.2
Dependencies:
- Android SDK Platform-tools revision 18 or later.
- If you are developing in Eclipse with ADT, note that this version of SDK Tools is designed for use with ADT 22.6.2 and later. If you haven't already, update your ADT Plugin to 22.6.2.
- If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

General Notes:
- Fixed a problem where the SDK Manager threw a NullPointerException after removing a virtual device that was created using the Android Wear system image. (Issue 67588)
- Fixed a problem with Nexus 5 Android virtual devices created from the command line where the SD card file system was read-only.

Android SDK 22.6.1
Dependencies:
- Android SDK Platform-tools revision 18 or later.
- If you are developing in Eclipse with ADT, note that this version of SDK Tools is designed for use with ADT 22.6.1 and later. If you haven't already, update your ADT Plugin to 22.6.1.
- If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

General Notes:
- Fixed a problem where the Android Virtual Device Manager could not create new virtual devices. (Issue 66661)
- Fixed a problem with virtual devices created using ADT 22.3 or earlier.
- If you created an Android Virtual Device using ADT 22.3 or earlier, the AVD may be listed as broken in the AVD Manager in 22.6.1. To fix this problem, select the virtual device on the AVD Manager and click Repair.
- Fixed a problem with the command line tools when creating virtual devices. (Issue 66740)
- Fixed a problem with the command line lint script.

Android SDK 22.6
Dependencies:
- Android SDK Platform-tools revision 18 or later.
- If you are developing in Eclipse with ADT, note that this version of SDK Tools is designed for use with ADT 22.6.0 and later. If you haven't already, update your ADT Plugin to 22.6.0.
- If you are developing outside Eclipse, you must have Apache Ant 1.8 or later.

General Notes:
- The command line lint script (toolslint.bat on Windows platforms, tools/lint on other platforms) and the lint target on ant builds fail with the following error
- Exception in thread "main" java.lang.NoClassDefFoundError: lombok/ast/AstVisitor
- As a temporary workaround, rename the file toolsliblombok-ast-0.2.2.jar to toolsliblombok-ast.jar. We will release an updated version of the tools with a fix for this issue as soon as possible.
- Added support for Java 7 language features like multi-catch, try-with-resources, and the diamond operator. These features require version 19 or higher of the Build Tools. Try-with-resources requires minSdkVersion 19; the rest of the new language features require minSdkVersion 8 or higher.
- Added new lint checks

Security:
- Look for code potentially affected by a SecureRandom vulnerability.
- Check that calls to checkPermission use the return value.
- Check that production builds do not use mock location providers.
- Look for manifest values that are overwritten by values from Gradle build scripts.
- Fixed a number of minor issues in the SDK and build system.

Emulator
- Fixed a problem with the emulator shutting down immediately for Android 1.5 on the Nexus One and Nexus S devices. (Issue 64945)
- Fixed a problem with port numbers longer than four digits. (Issue 60024)
- Fixed battery errors for the Nexus One and Nexus S devices. (Issue 39959)
- Fixed a problem with paths or arguments that contain spaces on Windows platforms. (Issue 18317)
- Fixed a problem with long path values on Windows platforms. (Issue 33336)
- Fixed a problem with the -snapshot-list command line option on 64-bit systems. (Issue 34233)
- Fixed an issue with RenderScript support. Using RenderScript support mode now requires version 19.0.3 of the Build Tools.

Android SDK 22.3
- Added support for Android 4.4 (API level 19).
- Fixed a number of minor bugs in the SDK and build system.