linux下android adb驅動安裝詳解
最近由於內建的合作商比較多,本人使用的ubuntu系統好多廠商的android手機都無法正確的識別,經過一番折騰,和查閱sdk,現把linux下adb驅動配置的方法和當中會遇到的相關問題的解決方法整理出來貢獻給大家。
linux下使用手機usb除錯模式連線adb進行android程式的除錯,配置驅動沒有windows來的直觀。
首先確認手機連線上電腦,lsusb檢視下裝置記錄。
matthew@matthew-1230-laptop:~$ lsusbbus 007 device 009: id 18d1:4e12
bus 007 device 001: id 1d6b:0002 linux foundation 2.0 root hub
bus 006 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 005 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 003 device 001: id 1d6b:0002 linux foundation 2.0 root hub
bus 002 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 001 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 004 device 004: id 093a:2510 pixart imaging, inc.
bus 004 device 001: id 1d6b:0001 linux foundation 1.1 root hub
我這裡是:
bus 007 device 009: id 18d1:4e12
然後在/etc/udev/rules.d/下建立乙個配置檔案: 51-android.rules
sudovim/etc/udev/rules.d/
50-android.rules
檔案裡新增如下配置引數:
subsystem=="usb", sysfs=="0bb4", mode="0666"
儲存,給配置檔案設定下許可權
sudochmod a+rx /etc/udev/rules.d/
50-android.rules
restart
sudo/etc/init.d/udev restart
最後再重啟下adb服務,就可以了(沒配置環境變數的請進入android sdk tools目錄執行sudo ./adb kill-server ./adb devices)
sudo adb kill-serversudo adb devices
sysfs引數:1. log in as root and create this file: /etc/udev/rules.d/51-android.rules.sysfs="***"針對linux adb驅動配置檔案裡的sysfs引數是指裝置廠商。當初因為是htc幫google做的手機,所以官網一開始的用例上寫的是」high tech computer corp.」。但現在moto, 索愛, 三星等一批手機廠商的加入,android生產廠商已不只htc一家。而且且如果裝置型號不是0bb4那該怎麼辦呢?
for gusty/hardy, edit the file to read: [注:ubuntu 7.10及以後版本]
subsystem==」usb」, sysfs==」0bb4″, mode=」0666″
只要按照說明把建立的51-android.rules檔案中的0bb4修改為相應的usb**商id資訊即可。
比如我的手機是motorola,idvender是22b8
那麼這一行就是
subsystem=="usb", sysfs=="22b8", mode="0666"
不過,你可以寫多行,以使用各種裝置。比如我就寫了所有的,如下:
#acer 0502subsystem=="usb", sysfs=="0502", mode="0666"
#dell 413c
subsystem=="usb", sysfs=="413c", mode="0666"
#foxconn 0489
subsystem=="usb", sysfs=="0489", mode="0666"
#garmin-asus 091e
subsystem=="usb", sysfs=="091e", mode="0666"
#htc 0bb4
subsystem=="usb", sysfs=="0bb4", mode="0666"
#huawei 12d1
subsystem=="usb", sysfs=="12d1", mode="0666"
#kyocera 0482
subsystem=="usb", sysfs=="0482", mode="0666"
#lg 1004
subsystem=="usb", sysfs=="1004", mode="0666"
#motorola 22b8
subsystem=="usb", sysfs=="22b8", mode="0666"
#nvidia 0955
subsystem=="usb", sysfs=="0955", mode="0666"
#pantech 10a9
subsystem=="usb", sysfs=="10a9", mode="0666"
#samsung 04e8
subsystem=="usb", sysfs=="04e8", mode="0666"
#sharp 04dd
subsystem=="usb", sysfs=="04dd", mode="0666"
#sony ericsson 0fce
subsystem=="usb", sysfs=="0fce", mode="0666"
#zte 19d2
subsystem=="usb", sysfs=="19d2", mode="0666"
但是這上面的id,並不能包括所有,我手上就有一台裝置的usb id就不在上述之列。
解決辦法是你可以使用lsusb命令檢視你的usb id
matthew@matthew-1230-laptop:~$ lsusbbus 002 device 003: id 413c:2003 dell computer corp. keyboard
bus 002 device 002: id 0461:4d22 primax electronics, ltd
bus 002 device 001: id 1d6b:0001 linux foundation 1.1 root hub
bus 001 device 010: id 18a1:0002
bus 001 device 001: id 1d6b:0002 linux foundation 2.0 root hub
找到上面的id為18a1,在檔案中新增裝置就可以了。
subsystem=="usb", sysfs=="18a1", mode="0666"
修改/etc/udev/rules.d/51-android.rules不需要重啟linux機器,重新插拔一下裝置就可以了。再次執行adb devices就可以看到你的裝置已經連線
Ubuntu 下配置使用Android adb
1 配置環境變數 進入終端,輸入 sudo gedit bashrc 在檔案的最後追加 1 set path for android sdk tools 2exportpath path your android sdk linux path tools 3exportpath path your ...
Ubuntu 下配置使用Android adb
1 配置環境變數 進入終端,輸入 sudo gedit bashrc 在檔案的最後追加 set path for android sdk tools export path pat h y oura ndro id s dk l inux path too ls e xpor tpat h path...
Linux下Redis下安裝
redis安裝 檢查是否安裝redis ps ef grep redis2.檢查gcc服務是否安裝成功 rpm qa grep gcc注 安裝成功則顯示 mkdir redis5.解壓redis安裝包 tar zxvf redis 2.8.17 tar.gz c usr local redis 解壓...