關於Ubuntu 下新開發板adb 無法識別的問題(成功案例:解決了三星,索愛,OPPO X903案例)
問題:
在ubuntu中eclipse中用真機來調試androi程序時,發現無法識別手機,如下圖顯示2.37一欄之前顯示全是亂碼,這是解決後截的圖。
問題原因是:
在window下我們可以通過安裝驅動來實現abd的連接,而在ubuntu下就沒有安裝手機驅動這個概念,那我們肯定也需要個啥來實現這個驅動功能。這個android官網介紹得很詳細。
記錄下解決步驟如下:
第一步:打開終端,輸入:sudo gedit /etc/udev/rules.d/51-android.rules
第二步:在彈出的如下圖編輯文件中按固定格式輸入你手機型號對應的ID號,官網格式如下:
SUBSYSTEM=="usb",
ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"
我們實際應用中group項一般不加,即如下格式:
SUBSYSTEM=="usb", ATTR{idVendor}=="你手機對應的ID", MODE="0666"。
手機對應id可以去官網查看。或者也跟我一樣,複製如下內容,一次性全部加入,後保存。如下圖:
- SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"
- SUBSYSTEM=="usb", ATTR{idVendor}=="19d2", MODE="0666"
第三歩:終端輸入:sudo chmod a+r /etc/udev/rules.d/51-android.rules
手機重新再連一次就OK了。
參考網址:
https://www.cnblogs.com/AndroidManifest/archive/2011/12/09/2281635.html
https://www.blogchen.com/archives/589.html
通過網上搜到的這個步驟,我成功識別了SONY ERICSSON
但是我本人的OPPO X903卻無法運行
可以參照如下思路:
1. 在終端運行 lsusb
會發現結果有會有如下類似記錄:
Bus 001 Device 008: ID 0bb4:0cab High Tech Computer Corp.
這時鍵入
1 |
sudo gedit /etc/udev/rules.d/50-Android.rules
|
在打開的文件中增加以下文本:
1 |
SUBSYSTEM=="usb", SYSFS{"High Tech Computer Corp."}=="0bb4", MODE="0666" |
2. 運行以下命令:
1 |
sudo chmod
a+rx /etc/udev/rules.d/50-Android.rules
|
2 |
sudo /etc/init.d/udev restart
|
1 |
sudo ./adb
kill -server
|
2 |
sudo ./adb devices
|
4.有的國產手機,例如oppo,需要
輸入 lsusb
1 |
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
2 |
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub |
3 |
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub |
4 |
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub |
5 |
Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse |
6 |
Bus 001 Device 006: ID 22d9:2769 |
在~/.android/adb_usb.ini中添加22d9
//小米手機如果沒有彈出usb調試確認框,可撥號界麵輸入*#*#717717#*#*。 手動彈出
好了,我們再梳理一下:
步驟一:
打開終端,輸入lsusb
上麵的2207:0006就是我們新的開發板的USB的ID,不知道如何識別的同學 ,可以通過反複的插拔查找哪個是變化值。我們需要複製:前綴的2207,新增到配置文件裏麵。
步驟二:
修改51-android.ruls 配置文件
在終端上輸入:sudo vim /etc/udev/rules.d/51-android.rules ,可以看到下麵的數據
將這兩行數據,複製拷備,重新換一行。然後修改 SYSFS{idVendor} 這個值的數據,將其改成2207,如下圖的修改:
步驟三:
修改adb_usb.ini 配置文件
在終端上輸入: vim .android/adb_usb.ini,裏麵有個類似0x2218的數值,另起一行填上0x2207即可。如下圖:
好了,完成好上麵的步驟,這時可以再adb devices 查看結果了。
最後更新:2017-04-03 12:55:38