閱讀836 返回首頁    go 阿裏雲 go 技術社區[雲棲]


關於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可以去官網查看。或者也跟我一樣,複製如下內容,一次性全部加入,後保存。如下圖:

  1. SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666"  
  2. SUBSYSTEM=="usb", ATTR{idVendor}=="0502", MODE="0666"  
  3. SUBSYSTEM=="usb", ATTR{idVendor}=="0b05", MODE="0666"  
  4. SUBSYSTEM=="usb", ATTR{idVendor}=="413c", MODE="0666"  
  5. SUBSYSTEM=="usb", ATTR{idVendor}=="0489", MODE="0666"  
  6. SUBSYSTEM=="usb", ATTR{idVendor}=="04c5", MODE="0666"  
  7. SUBSYSTEM=="usb", ATTR{idVendor}=="091e", MODE="0666"  
  8. SUBSYSTEM=="usb", ATTR{idVendor}=="109b", MODE="0666"  
  9. SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666"  
  10. SUBSYSTEM=="usb", ATTR{idVendor}=="12d1", MODE="0666"  
  11. SUBSYSTEM=="usb", ATTR{idVendor}=="24e3", MODE="0666"  
  12. SUBSYSTEM=="usb", ATTR{idVendor}=="2116", MODE="0666"  
  13. SUBSYSTEM=="usb", ATTR{idVendor}=="0482", MODE="0666"  
  14. SUBSYSTEM=="usb", ATTR{idVendor}=="17ef", MODE="0666"  
  15. SUBSYSTEM=="usb", ATTR{idVendor}=="1004", MODE="0666"  
  16. SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0666"  
  17. SUBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666"  
  18. SUBSYSTEM=="usb", ATTR{idVendor}=="2080", MODE="0666"  
  19. SUBSYSTEM=="usb", ATTR{idVendor}=="0955", MODE="0666"  
  20. SUBSYSTEM=="usb", ATTR{idVendor}=="2257", MODE="0666"  
  21. SUBSYSTEM=="usb", ATTR{idVendor}=="10a9", MODE="0666"  
  22. SUBSYSTEM=="usb", ATTR{idVendor}=="1d4d", MODE="0666"  
  23. SUBSYSTEM=="usb", ATTR{idVendor}=="0471", MODE="0666"  
  24. SUBSYSTEM=="usb", ATTR{idVendor}=="04da", MODE="0666"  
  25. SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666"  
  26. SUBSYSTEM=="usb", ATTR{idVendor}=="1f53", MODE="0666"  
  27. SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0666"  
  28. SUBSYSTEM=="usb", ATTR{idVendor}=="04dd", MODE="0666"  
  29. SUBSYSTEM=="usb", ATTR{idVendor}=="054c", MODE="0666"  
  30. SUBSYSTEM=="usb", ATTR{idVendor}=="0fce", MODE="0666"  
  31. SUBSYSTEM=="usb", ATTR{idVendor}=="2340", MODE="0666"  
  32. SUBSYSTEM=="usb", ATTR{idVendor}=="0930", MODE="0666"  
  33. 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
3. 在 Android sdk 的platform-tools 目錄下運行 (事先將platform-tools和tools對應的目錄加到PATH下麵)
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
最後得到的ID 22d9

在~/.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

  上一篇:go C# 係統應用之ListView控件 (二).加載選中節點文件夾下文件信息
  下一篇:go 如何讓有物理鍵的手機在ActionBar始終顯示更多菜單menu鍵