Google's introduction of Android N promises many great enhancements to the operating system, but we can't overlook some of the important awesome changes to the tools we use. The latest iteration of ADB brings some new features and significant performance improvements. Googler Elliott Hughes took to Google+ with details about the update, letting us know what we can look forward to from moving to the latest preview release of adb.

This is effectively the changelog, based on the post by Elliott Hughes:

  • Data Transfer
    • Much faster performance on push, pull, and sync operations.
    • Progress feedback during push, pull, and sync operations.
    • Command line arguments for push and pull are interpreted more like scp (Secure Copy).
  • Shell Commands
    • Returns the exit code from remote processes.
    • Distinguishes stdout and stderr.
    • Passes stdin through to remote processes. This makes it possible to pipe results of a local process into a remote process.
    • Passes window size and terminal type (useful for proper formatting).
    • Shell commands can now exceed 1024 characters.
  • Miscellaneous
    • Windows support is greatly improved.
    • More stability for automated testing
    • Helpful diagnostics for adb/fastboot Linux USB permissions problems
    • Other improvements to command-line tools like ls and sed.

Elliott's post mentions that an AOSP Nexus 9 full /system sync has gone from 60 seconds down to just 20, suggesting transfers should take about a third of the time they used to, on average. That may vary depending on the type of operation and the number of files and size that are being transferred.

Features related to shell commands may only work with a device running the latest adbd–that's the service running on a phone that adb talks to, which means they only work with devices running Android N and above. Most of the other miscellaneous improvements and data transfer optimizations should work with older versions.

Screen Shot 2016-04-24 at 10.30.21 AM

To take advantage of these improvements, you'll have to update to the latest Android SDK Platform-tools package under the Tools (Preview Channel) group using the SDK manager. Android Studio also offers a simplified interface that will perform the same update. If you don't have the SDK tools installed, probably because it's a bit of a hassle for regular people, there are quite a few scripts that automate downloading just the necessary tools, or pre-packaged bundles can be downloaded and installed. (In the future, we'll post a guide to explain some of these options.)