Made available as open-source software under the Apache License by Google since 2007, its features include a shell and the possibility to make backups.
It has been misused by botnets and other malware, for which mitigations were developed such as RSA authentication and device whitelisting.
Features of adb include copying files from the host computer,[1] installing apps, viewing logcat output, getting a Unix shell,[2] and rebooting into Qualcomm EDL mode.
[12] In 2016 for Android Studio 2.0 a 5x performance improvement was made for installing apps and pushing files through adb.
[13] For easier usage of Android Things, a wrapper was made in 2017 around manual adb commands.
[20] How-To Geek recommends adding the folder containing the binaries to the PATH environment variable.
[23] For macOS and other Linux distributions, the platform tools can be downloaded and the PATH variable can be modified in bashrc.
[24] In Android 4.2.2 or later (API level 17), a dialog is shown with an RSA fingerprint that the user needs to accept.
The server can then reply with OKAY or FAIL to indicate the status, combined with an optional payload and length.
The adb daemon did not check for the return value of the setuid system call when dropping privileges.
When the daemon crashes and restarts, it cannot start a new process with dropped privileges and keeps running as root.