Improve performance of adb push on high-latency connections. Fix hang when using adb install on something that isn't actually a file.
Add --fastdeploy option to adb install , for incremental updates to APKs while developing. This also fixes a related bug in the Android Studio Profilers that causes an AdbCommandRejectedException , which you can see in the idea. Fix devices going offline on Windows. Improve adb install output and help text.
On Linux, when connecting to a newer adb server, instead of killing the server and starting an older one, adb attempts to launch the newer version transparently.
Previously, adb root; adb wait-for-device could mistakenly return immediately if adb wait-for-device started before adb noticed that the device had disconnected. 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. 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. 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. 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. Clean up help output. Add product. Avoid bricking new devices when using a too-old version of fastboot by allowing factory image packages to require support for specific partitions.
In this release, the old non-libusb implementation remains the default. Introduction 1. Accepting this License Agreement 2. If you do not have the requisite authority, you may not accept the License Agreement or use the SDK on behalf of your employer or other entity.
SDK License from Google 3. You are of course free to develop applications for other platforms, including non-compatible implementations of Android, provided that this SDK is not used for that purpose.
Google reserves all rights not expressly granted to you. However, if you are just a nerd who messes around your phone for smaller jobs like unlocking the bootloader, flashing boot or recovery image or the full factory images occasionally, downloading the full Android SDK or Studio is no more necessary.
In many cases, the 3rd-party downloads contain malicious stuff like Trojans. Furthermore, to get the latest SDK platform tools, we had to keep an eye on the new releases. Sometimes the latest version of such executable tools installs the outdated ADB and Fastboot binaries. Why download a giant package of junk if you need just a small chunk? The size of the official Platform Tools is less than 4MB.
You can also visit the official page and take a look at the release note. Android Debug Bridge adb is a versatile command-line tool that lets you communicate with a device. The adb command facilitates a variety of device actions, such as installing and debugging apps, and it provides access to a Unix shell that you can use to run a variety of commands on a device. It is a client-server program that includes three components:. For information on connecting a device for use over ADB, including how to use the Connection Assistant to troubleshoot common problems, see Run apps on a hardware device.
When you start an adb client, the client first checks whether there is an adb server process already running. If there isn't, it starts the server process. When the server starts, it binds to local TCP port and listens for commands sent from adb clients—all adb clients use port to communicate with the adb server.
The server then sets up connections to all running devices. It locates emulators by scanning odd-numbered ports in the range to , the range used by the first 16 emulators. Where the server finds an adb daemon adbd , it sets up a connection to that port.
Note that each emulator uses a pair of sequential ports — an even-numbered port for console connections and an odd-numbered port for adb connections. For example:. Emulator 1, console: Emulator 1, adb: Emulator 2, console: Emulator 2, adb: and so on As shown, the emulator connected to adb on port is the same as the emulator whose console listens on port Once the server has set up connections to all devices, you can use adb commands to access those devices.
Because the server manages connections to devices and handles commands from multiple adb clients, you can control any device from any client or from a script. On Android 4. Return to the previous screen to find Developer options at the bottom. You can now connect your device with USB. If connected, you'll see the device name listed as a "device. Note: When you connect a device running Android 4.
This security mechanism protects user devices because it ensures that USB debugging and other adb commands cannot be executed unless you're able to unlock the device and acknowledge the dialog. Android 11 and higher support deploying and debugging your app wirelessly from your workstation using Android Debug Bridge adb. For example, you can deploy your debuggable app to multiple remote devices without physically connecting your device via USB. This eliminates the need to deal with common USB connection issues, such as driver installation.
To use wireless debugging, you need to pair your device to your workstation using a pairing code. Your workstation and device must be connected to the same wireless network. To connect to your device, follow these steps:. Before issuing adb commands, it is helpful to know what device instances are connected to the adb server. You can generate a list of attached devices using the devices command. The following example shows the devices command and its output.
There are three devices running. The first two lines in the list are emulators, and the third line is a hardware device that is attached to the computer. The adb devices command has a corner-case command sequence that causes running emulator s to not show up in the adb devices output even though the emulator s are visible on your desktop.
This happens when all of the following conditions are true:. One way to avoid this situation is to let the emulator choose its own ports, and don't run more than 16 emulators at once. Another way is to always start the adb server before you use the emulator command, as explained in the following examples.
Example 1: In the following command sequence, the adb devices command starts the adb server, but the list of devices does not appear. Stop the adb server and enter the following commands in the order shown. For the avd name, provide a valid avd name from your system. To get a list of avd names, type emulator -list-avds.
Example 2: In the following command sequence, adb devices displays the list of devices because the adb server was started first. To see the emulator in the adb devices output, stop the adb server, and then start it again after using the emulator command and before using the adb devices command, as follows:. For more information about emulator command-line options, see Using Command Line Parameters.
If multiple devices are running, you must specify the target device when you issue the adb command. To specify the target, use the devices command to get the serial number of the target.
Once you have the serial number, use the -s option with the adb commands to specify the serial number. In the following example, the list of attached devices is obtained, and then the serial number of one of the devices is used to install the helloWorld.
Note: If you issue a command without specifying a target device when multiple devices are available, adb generates an error. If you have multiple devices available, but only one is an emulator, use the -e option to send commands to the emulator.
Likewise, if there are multiple devices but only one hardware device attached, use the -d option to send commands to the hardware device. You can use adb to install an APK on an emulator or connected device with the install command:. You must use the -t option with the install command when you install a test APK.
For more information, see -t. Instead, Android Studio handles the packaging and installation of the app for you. You can use the forward command to set up arbitrary port forwarding, which forwards requests on a specific host port to a different port on a device. The following example sets up forwarding of host port to device port Use the pull and push commands to copy files to and from an device.
Unlike the install command, which only copies an APK file to a specific location, the pull and push commands let you copy arbitrary directories and files to any location in a device. In some cases, you might need to terminate the adb server process and then restart it to resolve the problem e. To stop the adb server, use the adb kill-server command.
You can then restart the server by issuing any other adb command. You can issue adb commands from a command line on your development machine or from a script. The usage is:. If there's only one emulator running or only one device connected, the adb command is sent to that device by default. You can use the shell command to issue device commands through adb, or to start an interactive shell.
To issue a single command use the shell command like this:. To start an interactive shell on a device use the shell command like this:. Note: With Android Platform-Tools 23 and higher, adb handles arguments the same way that the ssh 1 command does.
But, this change means that the interpretation of any command that contains shell metacharacters has also changed. For example, the adb shell setprop foo 'a b' command is now an error because the single quotes ' are swallowed by the local shell, and the device sees adb shell setprop foo a b.
To make the command work, quote twice, once for the local shell and once for the remote shell, the same as you do with ssh 1.
0コメント