在windows下连接手机的软件很多,但是在linux下就会显有些苍白了,相信使用linux的人都是不一般的人,都会走些非同寻常的路。
接下我们看看如何在ubuntu下如何使用adb连接到android手机,正常情况下这会非常简单。
安装android-tools-adb
sudo apt update
sudo apt install android-tools-adb android-tools-fastboot
开启开发者模式
接下来你需要将手机开启开发者模式。打开你的Android手机的设置,找到关于关于手机或者 关于设备 (手机厂商命名可能不一致),然后点击版本号7次,这时手机就会进入开发者模式
现在回到设置,你会看到一个名为开发者选项 的选项,点击该选项,在里面找到USB调试并启用它
启动adb服务
adb start-server
检查是否已连接到手机
可以使用adb devices命令来检查设备是否已正常连接,在正常的情况下,你应该在终端看到以下输出,其中会包括你的手机部分信息,比如型号,其它手机不清楚
adb devices
List of devices attached
NX507J device
如果你未正常连接到手机,看看你是否遇到下面列出的错误
解决连接的错误
???????????? no permissions
adb devices
List of devices attached
???????????? no permissions
这是因为当前用户组没有权限访问设备,把当前用户加入到plugdev组
➜ ~ sudo useradd -G plugdev $USER
再次使用 adb devices
命令验证是否正确
adb devices
如果还是没有权限检查设备id并创建udev规则
➜ ~ lsusb
Bus 002 Device 002: ID 8087:8000 Intel Corp.
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:8008 Intel Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 0930:6545 Toshiba Corp. Kingston DataTraveler 102/2.0 / HEMA Flash Drive 2 GB / PNY Attache 4GB Stick
Bus 003 Device 003: ID 046d:c077 Logitech, Inc. M105 Optical Mouse
Bus 003 Device 002: ID 17ef:602d Lenovo
Bus 003 Device 006: ID 19d2:ffc1 ZTE WCDMA Technologies MSM
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
创建udev规则 /etc/udev/rules.d/51-android.rules
sudo mkdir -p /etc/udev/rules.d/
sudo touch /etc/udev/rules.d/51-android.rules
sudo gedit /etc/udev/rules.d/51-android.rules
粘贴以下内容
SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev"
注意:设备的id与ATTRS{idVendor}的值对应
改变规则文件的权限
sudo chmod a+r /etc/udev/rules.d/51-android.rules
重载规则并重启udev服务
sudo udevadm control --reload-rules
sudo service udev restart
sudo udevadm trigger
再次使用adb devices命令验证是否正确,然后你可以使用以下命令登录到手机进行操作
adb shell
参考文档
- udev
- udev规则语法