尝试运行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/

    10-10 17:38