Linux下Android ADB驅動安裝詳解

2021-08-26 10:40:33 字數 3960 閱讀 3266

linux下android adb驅動安裝詳解

最近由於內建的合作商比較多,本人使用的ubuntu系統好多廠商的android手機都無法正確的識別,經過一番折騰,和查閱sdk,現把linux下adb驅動配置的方法和當中會遇到的相關問題的解決方法整理出來貢獻給大家。

linux下使用手機usb除錯模式連線adb進行android程式的除錯,配置驅動沒有windows來的直觀。

首先確認手機連線上電腦,lsusb檢視下裝置記錄。

matthew@matthew-1230-laptop:~$ lsusb

bus 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

sudo

vim/etc/udev/rules.d/

50-android.rules

檔案裡新增如下配置引數:

subsystem=="usb", sysfs=="0bb4", mode="0666"

儲存,給配置檔案設定下許可權

sudo

chmod 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-server

sudo adb devices

sysfs引數:

sysfs="***"

針對linux adb驅動配置檔案裡的sysfs引數是指裝置廠商。當初因為是htc幫google做的手機,所以官網一開始的用例上寫的是」high tech computer corp.」。但現在moto, 索愛, 三星等一批手機廠商的加入,android生產廠商已不只htc一家。而且且如果裝置型號不是0bb4那該怎麼辦呢?

1. log in as root and create this file: /etc/udev/rules.d/51-android.rules.

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      0502

subsystem=="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:~$ lsusb

bus 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 解壓...