ADB连接设备步骤及注意事项

一、连接步骤

1.1 安装adb

可以通过apt-get安装adb

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install android-tools-adb

或者下载 SDK Platform Tools,Platform Tools 中包含了 adb、fastboot 等常用的命令行工具,下载之后把相应路径加到 PATH 中去即可。

将android设备连接至电脑,执行adb shell会提示“error: device not found”

1.2 确认连接设备

将android设备连接至电脑,通过lsusb查看usb设备,如下Google部分对应的就是android设备

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 027: ID 1f3a:1002 Google Inc.
Bus 002 Device 003: ID 046d:c077 Logitech, Inc.

1.3 拷贝51-android.rules文件

将以下链接中的51-android.rules文件(任选其一)拷贝到/etc/udev/rules.d/

1.4 重启USB服务

$ sudo chmod a+rx /etc/udev/rules.d/70-android.rules
$ sudo service udev restart

1.5 重启adb服务

$ adb kill-server
$ sudo adb start-server
$ adb devices
List of devices attached
815105148800601fe42 device

adb devices有设备说明adb安装成功

1.6 添加权限

正常情况下, 第5步后应该可以正常连接设备. 如果没有成功连接, 需要检查权限文件.

sudo vim /etc/udev/rules.d/51-android.rules

加入以下内容,注意其中的1f3a1002对应的就是lsusb得到的id:

SUBSYSTEM=="usb", ATTR{idVendor}=="1f3a", ATTR{idProduct}=="1002",MODE="0666"

备注: 在 /etc/udev/rules.d/下, 可能已经存在51-android.rules. 只需要在后面追加上面的内容即可.

添加成功后, 重复第4步和第5步.

二、注意事项

  1. 请注意打开手机的开发者选项, 允许USB调试.

  2. 发现adb shell经常重启

    原因: shell中使用的adb,一般是/usr/bin/adb, 可以通过adb verison查看版本号. 每份 Android 源码在 out/host/linux-x86/bin/adb 也有一个 adb. Android Studio使用的adb目录为 Sdk目录/platform-tools/adb. 重启原因是三者版本不一致, 重启不影响 adb 使用. 保持一直使用同一个版本的 adb 可以避免这个问题.

  3. 设备的serial number记录在 /sys/class/android_usb/android0/iSerial 文件中,我们可以通过修改该文件的值来修改设备的serial number。注意修改后需要重新连接手机。

  4. 如果在完成文档中写到的所有操作之后,adb devices仍然无法得到已连接的设备信息,可以尝试将lsusb得到的id写到~/.android/adb_usb.ini文件中,之后重复第4~5步。

Last updated

Was this helpful?