发现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. Altium Designer中使用差分对布线

    Contents Language 在原理图中定义差分对 在PCB中查看和管理差分对 在PCB中定义差分对 适用的设计规则 设置设计规则的辖域 使用差分对向导定义规则 差分对布线 包括管脚交换的FPG ...

  2. Qt全局热键(windows篇)(使用RegisterHotKey和句柄进行注册)

    转载:http://www.cuteqt.com/blog/?p=2088 Qt对于系统底层,一直没有很好的支持,例如串口并口通信,还有我们经常都会用到的全局热键,等等.既然Qt可能出于某种原因,不对 ...

  3. python web.py安装使用

    官方首页:http://webpy.org/) 它的源代码非常整洁精干,学习它一方面可以让我们快速了解python语法(遇到看不懂的语法就去google),另一方面可以学习到python高级特性的使用 ...

  4. linux 信号signal和sigaction理解

    今天看到unp时发现之前对signal到理解实在浅显,今天拿来单独学习讨论下. signal,此函数相对简单一些,给定一个信号,给出信号处理函数则可,当然,函数简单,其功能也相对简单许多,简单给出个函 ...

  5. 黑马程序员_Java集合Map

    Map Map概述: 接口Map<k,v> 类型参数: k-此映射所维护的键的类型 v-映射值的类型 Map集合:该集合存储键值对.一对一对往理存.而且要保证键的唯一性. 嵌套类摘要: s ...

  6. 超给力的HTML5 3D动画欣赏及源码下载

    HTML5有着非常巨大的魅力,尤其是CSS3和Cavnas,可以帮助页面渲染得非常炫酷.值得一提的是,利用HTML5的3D特性可以帮助你更加方便地在网页上实现3D动画特效.本文分享的这些HTML5 3 ...

  7. 从一些简单代码实例彻底理解面向对象编程思想|OOP本质是什么?

    从Rob Pike 的 Google+上的一个推看到了一篇叫<Understanding Object Oriented Programming>的文章,我先把这篇文章简述一下,然后再说说 ...

  8. C++ Win32控制台应用程序捕捉关闭事件

      #include#includebool ctrlhandler( DWORD fdwctrltype ){    switch( fdwctrltype )    {    // handle ...

  9. js中时间戳与日期转换-js日期操作

    常用的一些日期操作. 用js获取一个时间戳. <script type="text/javascript"> var date = new Date();//当前时间 ...

  10. RedHat下GCC及G++的安装

    GCC的安装: 切换到安装光盘目录下: #mount /dev/cdrom    /mnt/cdrom #cd /mnt/cdrom 安装GCC依赖的*rpm程序,必须按照顺序依次执行: #rpm - ...