尝试运行fastboot命令时,我的Ubuntu计算机上出现一个非常奇怪的问题。
当我运行时:
快速启动设备
我懂了
没有权限fastboot
因此,我以管理员身份运行命令:
sudo fastboot设备
然后我得到结果
sudo:fastboot:找不到命令
怎么会这样?我在PATH中有该目录,并且无需sudo即可正常运行。
最佳答案
您不必每次都需要运行sudo
来通过fastboot
强制授予权限,而是可以永久解决此问题:
lsusb
识别您的设备USB VendorID udev
以在设备插入作为奖励-
adb
也将被修复。例如,在我的情况下(对于“Megafon SP-A20i”):
$ fastboot devices
no permissions fastboot
$ sudo fastboot devices
[sudo] password for kaa:
MedfieldA9055F28 fastboot
$
让我们修复:
首先,我们需要识别设备:
a)查找USB总线号(黑客:我知道设备是基于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
$
瞧!
关于android - fastboot和adb无法与sudo一起使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27017453/