美文网首页
[问题记录] Ubuntu 上使用 fastboot 和 adb

[问题记录] Ubuntu 上使用 fastboot 和 adb

作者: 东东东鲁 | 来源:发表于2017-03-28 01:11 被阅读747次

    今天遇到一个问题,我工作用的电脑系统是 Ubuntu 16.10,在用我的电脑给一台小米手机刷机,进到 Recovery 用 adb,或者到 Bootloader 用 fastboot,都会弹出以下提示:

    no permissions (verify udev rules); see [http://developer.android.com/tools/device.htm]
    

    手机无法被正确识别,不能刷机。

    How to fix the adb no permissions error on Ubuntu Lucid

    根据这篇文章所描述的,因为当前用户没有足够的权限访问手机在USB调试模式下连接时创建的USB设备文件。

    解决的方法有两个:

    Killing all running adb server instances with sudo killall adb, disconnecting the phone, reconnecting the phone, and then running sudo adb devices instead (so adb gets run as root) fixes the problem.

    1. 方法一
      执行sudo killall adb杀掉所有 adb 进程,重新连接手机,改为用root权限执行 adb 命令,比如用 sudo adb devices代替 adb devices就可以得到正常的结果。

    2.方法二

    • 创建一个/etc/udev/rules.d/51-android.rules文件,写入以下内容
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666"
    SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666"
    
    • 执行以下命令
    $ sudo chmod 644   /etc/udev/rules.d/51-android.rules
    $ sudo chown root /etc/udev/rules.d/51-android.rules
    $ sudo service udev restart
    $ sudo killall adb
    
    • 拔掉手机数据线,重新连接
    • 重新执行adb devices看是否成功

    另外,解决问题后发现杨辉同学写了一个snowdream/51-android的项目,是用来解决这个问题,推荐一下。

    相关文章

      网友评论

          本文标题:[问题记录] Ubuntu 上使用 fastboot 和 adb

          本文链接:https://www.haomeiwen.com/subject/lofdottx.html