前段時間在使用Ubuntu學android開發的時候,發現adb并不能識別我插在電腦上的Nokia X,顯示的設備為“???????”……雖然大多時候是可以用genymotion的模擬器來調試程序的,不過在涉及一些復雜的情況,比如多點觸控的時候,就很捉急了……其實一些知名的手機如Nexus是可以直接識別的,其他的國產手機什么的,就需要自己動下手啦……
首先,插上你的手機,打開終端,執行命令:
lsusb
如此便可查看當前連接在電腦上的設備
Bus 002 Device 005: ID 5986:a006 Acer, Inc
Bus 002 Device 004: ID 1c4f:0002 SiGma Micro Keyboard TRACER Gamma Ivory
Bus 002 Device 009: ID05c6:9039 Qualcomm, Inc.
Bus 002 Device 003: ID 2188:0ae1
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 003: ID 0489:e030 Foxconn / Hon Hai
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
通過設備的描述,其實很容易看出哪個設備是自己的手機的,比如我就是通過Qualcomm(高通)找出我的Nokia X的,實在看不出來的話,還有個辦法,把手機拔掉,再使用lsusb命令查看設備,通過前后對比來找出你的手機。
找到自己的手機后,記下我標注的粗斜體部分的VID。
在用戶的 home 目錄下,尋找 .android 目錄,如果沒有就創建。在 .android 目錄下新建一個文件,叫adb_usb.ini, 記住,后綴是 “ini” 哦;添加前面獲得的 VID 到 adb_usb.ini 中
如:
0x05c6
注意,粗斜體部分為你自己剛剛記下的VID哦~
保存關閉,執行:
adb kill-server
adb start-server
adb devices
如果顯示正常,就搞定啦!
List of devices attached
4e4cb84a?? ?device
如果顯示 no permission,表示需要權限,在啟動adb服務的時候加上sudo就行
sudo adb start-server