13

尝试运行 fastboot 命令时,我的 Ubuntu 机器上有一个非常奇怪的问题。

当我运行时:

快速启动设备

我明白了

没有权限快速启动

所以我以管理员权限运行命令:

须藤快速启动设备

然后我得到结果

sudo:快速启动:找不到命令

怎么会这样?我的 PATH 中有目录,并且没有 sudo 一切正常。

4

2 回答 2

34

您可以永久解决问题,而不是sudo每次需要运行时强制权限:fastboot

  1. 用于lsusb识别您的设备 USB VendorID
  2. 配置udev为在插入设备时设置适当的权限
  3. 利润!

作为奖励 - 它也将被修复adb

例如,在我的情况下(对于“Megafon SP-A20i”):

$ fastboot devices
no permissions  fastboot
$ sudo fastboot devices
[sudo] password for kaa: 
MedfieldA9055F28    fastboot
$ 

让我们修复:

首先,我们需要识别设备:

a) 查找 USB 总线编号(hack:我知道该设备是基于 Intel 的设备)

$ fastboot -l devices
no permissions         fastboot usb:1-1.2
$ lsusb |grep 001 |grep -i intel
Bus 001 Device 044: ID 8087:09ef Intel Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
$ 

b) 寻找其他英特尔设备:

$ lsusb |grep 8087
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 044: ID 8087:09ef Intel Corp. 
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
$ 

集线器绝对不是智能手机,所以 - 我们需要的 USB vendorID 是“8087”。

其次,配置udev(你必须用你的替换“idVendor”值):

$ sudo sh -c "echo '# Megafon SP-A20i' >> /etc/udev/rules.d/51-android.rules"
$ sudo sh -c "echo 'SUBSYSTEM==\"usb\", ATTR{idVendor}==\"8087\", MODE=\"0666\", GROUP=\"plugdev\"' >> /etc/udev/rules.d/51-android.rules"
$ sudo service udev restart
udev stop/waiting
udev  start/running, process 1821
$ 

第三,重新插入您的设备以允许udev执行它的魔法。

最终检查:

$ fastboot -l devices
MedfieldA9055F28       fastboot usb:1-1.2
$ adb devices
List of devices attached 

$ fastboot reboot
rebooting...

finished. total time: 0.253s
$ sleep 90
$ adb devices
List of devices attached 
MedfieldA9055F28    device

$ 

瞧!

于 2015-01-24T16:59:38.933 回答
10

您可以使用

sudo $(which fastboot) 设备

于 2014-11-19T13:08:03.087 回答