Android Tech And Perf

Android:Ubuntu 下执行 Adb 命令找不到设备

Word count: 704Reading time: 3 min
2014/03/25

1.问题概述

最近开发Nokia项目,遇到的问题如下:

插入Nokia x后,电脑没有反应,即不识别,同事的windows也不识别,最后在谷歌上搜索了良久,才找到了解决方案,但是没有记录,后来又要给别人配置的时候,发现忘记怎么配置了。想想这也是一个具有通性的问题,还是记录下来,分享给大家。

2.问题解决方案

首先问题是:执行adb命令提示找不到设备,在做其他操作之前,请先确认已经做了如下操作:

  1. 确定已经打开了USB调试选项(设置-开发者选项-USB调试),有的机器没有开发者选项,需要到关于里面点击版本号若干下,或者去百度谷歌。
  2. 确定使用sudo命令adb kill-server 和adb start-server后仍然没有用。
    如果上述操作都确认了,还是找不到设备,那么继续往下看:

2.1.运行lsusb

~ » lsusb                                                                  
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 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 003 Device 004: ID 1532:0016 Razer USA, Ltd DeathAdder Mouse
Bus 003 Device 003: ID 05d5:624c Super Gate Technology Co., Ltd 
Bus 003 Device 033: ID 0421:06e8 Nokia Mobile Phones 
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hu

2.2.注册到udve的rules文件

vim  /etc/udev/rules.d/51-android.rules    
添加这个ID:1ebf,如下:    
SUBSYSTEM=="usb", SYSFS{"Nokia Mobile Phones"}=="0421", MODE="06e8"   
保存文件并运行:    
sudo chmod a+rx /etc/udev/rules.d/51-android.rules    
sudo /etc/init.d/udev restart    
运行结果如下:    
Rather than invoking init scripts through /etc/init.d, use the service(8)    
utility, e.g. service udev restart    
Since the script you are attempting to invoke has been converted to an    
Upstart job, you may also use the stop(8) and then start(8) utilities,    
e.g. stop udev ; start udev. The restart(8) utility is also available.    
udev stop/waiting    
udev start/running, process 14636

 2.3.使用sudo 关闭和启动adb

cd ~/tools/android-sdk-linux_x86/platform-tools  
sudo ./adb kill-server  
sudo ./adb start-server

 注:一般情况下,上面的操作就可以。特殊情况下,usb设备还是不能被识别,比如我手上这台Nokia X。那么继续:

2.4.打开 ~/.android/adb_usb.ini,加入之前的lsusb得到的信息

# ANDROID 4RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.
# USE 'android update adb' TO GENERATE.
# 1 USB VENDOR ID PER LINE

#for nokia x
0x0421

 保存关闭后,就可以识别了。windows下也是如此,不多叙述了。

关于我 && 博客

  1. 关于我 , 非常希望和大家一起交流 , 共同进步 .
  2. 博客内容导航
  3. 优秀博客文章记录 - Android 性能优化必知必会

一个人可以走的更快 , 一群人可以走的更远

微信扫一扫

CATALOG
  1. 1. 1.问题概述
  2. 2. 2.问题解决方案
    1. 2.1. 2.1.运行lsusb
    2. 2.2. 2.2.注册到udve的rules文件
    3. 2.3.  2.3.使用sudo 关闭和启动adb
    4. 2.4. 2.4.打开 ~/.android/adb_usb.ini,加入之前的lsusb得到的信息
  • 关于我 && 博客