天天记录 - Ubuntu 下搭建Android环境 - Ubuntu配置识别Android手机



 Ubuntu识别不到手机,使用adb devices会显示:
List of devices attached
???????????? no permissions


    原因是Ubuntu与Android手机链接需要使用adb,而adb需要root身份运行,Ubuntu默认是使用非root执行命令,既然知道原因了,执行adb前面加一个sudo 赋予权限就可以了


一 基本环境设置
1. Ubuntu安装android sdk,主要是目录下的adb工具(在android-sdk-linux/platform-tools目录下或者把目录添加到环境变量)
2. 手机需要设置调试模式


二  解决方案一(重启电脑后还是识别不到Android手机)

# 关闭adb服务
adb kill-server
# 使用root权限启动adb服务,必需在adb文件目录下执行
sudo ./adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
# 查看连接的Android设备
adb devices
# 输出
List of devices attached 
SH15BTJ31221   device

但是这样有一个问题,每次重启电脑后,还是识别不到手机,必须再次使用sudo 执行adb start-server才行


三 解决方案二(重启后依然可以识别手机)

1. 查看系统中的USB设备,获取idVendor的值

lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 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 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 004: ID 0bb4:0cab High Tech Computer Corp. 
Bus 001 Device 003: ID 04f2:b2dc Chicony Electronics Co., Ltd 
Bus 003 Device 005: ID 046d:c05a Logitech, Inc. Optical Mouse M90

其中High Tech Computer Corp 就是我现在插在电脑上的HTC手机使用的USB端口,id 为 0bb4



2.  使用root权限创建51-android.rules文件

sudo gedit /etc/udev/rules.d/51-android.rules     

加入  

SUBSYSTEM== "usb" , ATTR{idVendor}== "填入1中获取的id" , MODE= "0666" , GROUP= "plugdev"  

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"  


# 添加权限  
chmod a+r /etc/udev/rules.d/51-android.rules 


/udev目录解释:
    它主要的功能是管理 /dev 目录底下的设备  ,在启动时识别设备并在/dev创建节点.在系统运行时如果添加了热拔插设备(比如u盘),内核也会通知udev有新设备加入,udev在/dev创建节点以后,就可以用mount挂载到文件系统中使用了.
更多详见:http://zh.wikipedia.org/wiki/Udev     


三 测试,系统是否正常识别
1. 执行以下命令重启

sudo service udev restart
# 输出:
udev stop/waiting
udev start/running, process 9350

adb kill-server
adb start-server
adb devices
# 输出
List of devices attached 
SH15BTJ31221   device

如果类似以上输出说明已经配置成功,如果不行的话跟我一样


2 重启计算机后执行adb devices



四 参考资料

1. android 官方文档 Setting up a Device for Development

 

2. Setting Up ADB/USB Drivers for Android Devices in Linux (Ubuntu)




五、完整的支持目前已知所有手机

SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="201E", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="03f0", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="8087", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0e8d", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666", GROUP="plugdev"
SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666", GROUP="plugdev"

https://developer.android.com/studio/run/device.html


22d9 oppo

2a45


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值