【Android】Ubuntu系統下使用小米手機做Android開發——adb連接

轉載自:http://www.cnblogs.com/loulijun/archive/2012/12/18/2823272.html

附其他參考博客:

https://code.google.com/p/51-android/(配置文件和安裝說明)

http://blog.csdn.net/snowdream86/article/details/7665989(簡潔明瞭,但是博主忘記說明如何修改配置文件)

http://blog.csdn.net/snowdream86/article/details/7665989(博主說明了如何修改配置文件中的設備號)


發現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 就是我們得到的設備號碼

 

保存,關掉,然後

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 去折騰吧。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章