发现Ubuntu12.04不能连接小米开发,adb devices不能看到设备!  搞了一个上午才搞成功!

小米手机利用USB连接到Ubuntu 12.04系统。运行下面的命令:

longskywang@bjb0503:~$ 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 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)

Bus 001 Device 004: ID 138a:0008 Validity Sensors, Inc. VFS300 Fingerprint Reader

Bus 002 Device 007: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB

Bus 002 Device 008: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB

Bus 002 Device 025: ID 0461:4d22 Primax Electronics, Ltd

Bus 002 Device 005: ID 0c45:6481 Microdia

Bus 001 Device 005: ID 413c:8161 Dell Computer Corp. Integrated Keyboard

Bus 001 Device 006: ID 413c:8162 Dell Computer Corp. Integrated Touchpad [Synaptics]

Bus 002 Device 028: ID 2717:904e

Bus 001 Device 007: ID 413c:8160 Dell Computer Corp. Wireless 365 Bluetooth

拔掉手机的USB连接线,再运行:

longskywang@bjb0503:~$ 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 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub

Bus 001 Device 003: ID 0a5c:4500 Broadcom Corp. BCM2046B1 USB 2.0 Hub (part of BCM2046 Bluetooth)

Bus 001 Device 004: ID 138a:0008 Validity Sensors, Inc. VFS300 Fingerprint Reader

Bus 002 Device 007: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB

Bus 002 Device 008: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB

Bus 002 Device 025: ID 0461:4d22 Primax Electronics, Ltd

Bus 002 Device 005: ID 0c45:6481 Microdia

Bus 001 Device 005: ID 413c:8161 Dell Computer Corp. Integrated Keyboard

Bus 001 Device 006: ID 413c:8162 Dell Computer Corp. Integrated Touchpad [Synaptics]

Bus 001 Device 007: ID 413c:8160 Dell Computer Corp. Wireless 365 Bluetooth

对比发现,Bus 002 Device 028: ID 2717:904e    就是小米手机的

sudo gedit  /etc/udev/rules.d/50-android.rules在打开的文件中增加以下文本:

SUBSYSTEM=="usb", SYSFS{idVendor}=="2717", MODE=="0666"

SUBSYSTEM=="usb_device", SYSFS{idVendor}=="2717", MODE=="0666"

SUBSYSTEM=="usb", ATTR{idVendor}=="2717", ATTR{idProduct}=="9039", SYMLINK+="android_adb"

sudo chmod a+rx /etc/udev/rules.d/50-android.rules

注意,这个50-android.rules 文件名字应该是随意命名的,试过 51-android.rules ,52-android.rules  似乎是都可以的。

注意 "SUBSYSTEM=="usb", SYSFS{idVendor}=="2717", MODE=="0666" "这句是给 ubuntu 7.01 以后的系统识别用的

而"SUBSYSTEM=="usb_device", SYSFS{idVendor}=="2717", MODE=="0666""是给 Ubuntu 7.01之前的系统识别用的。相当于系统兼容。

longskywang@bjb0503:/etc/udev/rules.d$ sudo service udev restart    //or restart udev

udev start/running, process 7147

在 android sdk 的 tools 目录下运行 (这一步很重要,必须要sudo,否则没效果)

longskywang@bjb0503:~/android-sdk/platform-tools$ sudo ./adb kill-server

longskywang@bjb0503:~/android-sdk/platform-tools$ sudo ./adb devices

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

List of devices attached

到这一步了,结果发现 List of devices attached 下面没有设备出现,这就意味着 adb不识别新的USB 设备,纠结了。

如果跟我一样悲惨,请执行如下操作

longskywang@bjb0503:~$ cd ~

longskywang@bjb0503:~$ cd .android/

longskywang@bjb0503:~/.android$ ls

adbkey       adb_usb.ini~     avd       debug.keystore     repositories.cfg

adbkey.pub   androidtool.cfg  cache     default.keyset     sites-settings.cfg

adb_usb.ini  androidwin.cfg   ddms.cfg  modem-nv-ram-5554

请注意这个 adb_usb.ini(如果没有,可以自己建立一个)

longskywang@bjb0503:~/.android$ gedit adb_usb.ini

里面的内容一般如下:

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.

# USE 'android update adb' TO GENERATE.

# 1 USB VENDOR ID PER LINE.

我们在其中加一行

# ANDROID 3RD PARTY USB VENDOR ID LIST -- DO NOT EDIT.

# USE 'android update adb' TO GENERATE.

# 1 USB VENDOR ID PER LINE.

0x2717

请注意,这个 0x2717 就是我们得到的设备号码    从上面lsusb命令里得到的

保存,关掉,然后

longskywang@bjb0503:~/android-sdk/platform-tools$ sudo ./adb kill-server

longskywang@bjb0503:~/android-sdk/platform-tools$ sudo ./adb devices

List of devices attached

9109ce53    device

注意  9109ce53    device 这行就是我们的识别到的小米手机了。哈哈

然后在Eclipse下面的DDMS 去折腾吧。

ubuntu系统下adb连接手机的更多相关文章

  1. Ubuntu系统下adb devices 不能显示手机设备

    1. 查看usb设备,命令:lsusb 结果如下:Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub B ...

  2. linux ubuntu系统下,adb不是内部命令 (如何才能让adb命令可以使用)

    linux ubuntu系统下,adb不是内部命令 原文地址 linux ubuntu系统下,adb不是内部命令 解决方法: 1.sudo gedit ~/.bashrc 2.将下面的两句加到上面打开 ...

  3. ADB连接手机的两种方式(usb数据线连接和wifi连接)

    ADB(Android Debug Bridge)安卓测试桥,它是连接电脑开发端和安卓设备的桥梁,这个安卓设备可以是真实的安卓手机或者平板,也可以是虚拟的安卓模拟器,   这里介绍ADB连接手机的两种 ...

  4. adb连接手机的两种方式

    adb连接手机进行调试有两种方式,一种使用USB线,一种使用无线WiFi. 第一种  使用USB线连接 1. 在手机上启用USB调试 2. CMD窗口输入adb devices,此时可以看到自己的设备 ...

  5. Ubuntu系统下Jenkins的git构建基本方法

    上一博文讲到了本地脚本的构建方法. 本篇博文主要讲“Ubuntu系统下Jenkins的git构建基本方法”. 点击保存后即可完成简单的构建. 构建触发器 这个触发器是决定什么时候触发构建,可以设置为定 ...

  6. CentOS和Ubuntu系统下安装 HttpFS (助推Hue部署搭建)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  7. Ubuntu系统下安装并配置hive-2.1.0

    说在前面的话 默认情况下,Hive元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试.实际生产环境中不使用,为了支持多用户会话, 则需要一个独立的元数据库,使用MySQL作为 ...

  8. Ubuntu系统下的多路径软件 DM Multipath 配置。

    Ubuntu系统下的多路径软件是操作系统自带的 DM Multipath工具.------------------------------------------------------------- ...

  9. ubuntu系统下,gsl 库链接问题 -undefined reference to `cblas_xxx`

    今天在ubuntu系统下进行程序调试的时候出现以下错误信息: [ %] Linking CXX executable ../test_coco /usr/local/lib/libgsl.so: un ...

随机推荐

  1. C++实现发送HTTP请求

    #include <stdio.h>#include <windows.h>#include <wininet.h> #define MAXSIZE 1024#pr ...

  2. BZOJ3389: [Usaco2004 Dec]Cleaning Shifts安排值班

    3389: [Usaco2004 Dec]Cleaning Shifts安排值班 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 45  Solved:  ...

  3. Linux系统编程(32)—— socket编程之TCP服务器与客户端

    TCP协议的客户端/服务器程序的一般流程 服务器调用socket().bind().listen()完成初始化后,调用accept()阻塞等待,处于监听端口的状态,客户端调用socket()初始化后, ...

  4. split

    import java.io.IOException; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; /** * 解析知网文章的页面 ...

  5. iOS单元测试(作用及入门提升)

    由于只是一些简单实用的东西,学学还是挺不错的.其实单元测试用的好,开发起来也会快很多.单元测试对于我目前来说,就是为了方便测试一些功能是否正常运行,还有调试接口是否能正常使用.有时候你可能是为了测试某 ...

  6. 最最常用的 100 个 Java 类(转)

    大部分的 Java 软件开发都会使用到各种不同的库.近日我们从一万个开源的 Java 项目中进行分析,从中提取出最常用的 Java 类,这些类有来自于 Java 的标准库,也有第三方库.每个类在同一个 ...

  7. @SuppressWarnings(unchecked)作用解释

    解释一: 屏蔽某些编译时的警告信息 在强制类型转换的时候编译器会给出警告 加上 程序代码 @SuppressWarnings("unchecked") 就不会警告了 解释二: 注释 ...

  8. Kinect for Windows V2和V1对照开发___彩色数据获取并用OpenCV2.4.10显示

    V1彩色分辨率:640x480 V2彩色分辨率:1920x1080 1,打开彩色图像帧的方式 对于V1: 使用NuiImageStreamOpen方法打开 hr = m_PNuiSensor-> ...

  9. POJ 2449 Remmarguts' Date (SPFA + A星算法) - from lanshui_Yang

    题目大意:给你一个有向图,并给你三个数s.t 和 k ,让你求从点 s 到 点 t 的第 k 短的路径.如果第 k 短路不存在,则输出“-1” ,否则,输出第 k 短路的长度. 解题思路:这道题是一道 ...

  10. [Angular 2] Using Promise to Http

    You can also use Promise for http: So for the service, you need to call toPromise() method: getVehic ...