ubuntu下的adb安裝

2021-06-19 16:28:40 字數 3177 閱讀 8430

ubuntuadbdevices :no permissions解決方法

untun下usb連線android手機後,使用adbdevices 出現如下:

list of devices attached

????????????no permissions

同時在ddms中顯示裝置名也顯示????,也無法顯示程序名,無法檢視log。

一、工具介紹

android-sdk-linux_x86/tools下有一堆工具,今天要用的是:android debug bridge,在android開發過程中,這個工具是使用得最多的。(縮寫adb,有點像gcc的gdb似的)

adbstart-server – 實際上它會啟動乙個adbfork-server server

adbkill-server – kill掉

adbdevices – 列出所有的裝置

二、設定usb許可權

因為ubuntu這樣的系統都是預設以非root身份在執行的,要使用usb除錯,需要sudo支援。

$ lsusb

bus 005 device 001: id 1d6b:0001 linux foundation 1.1 root hub

bus 004 device 001: id 1d6b:0001 linux foundation 1.1 root hub

bus 003 device 001: id 1d6b:0001 linux foundation 1.1 root hub

bus 002 device 003: id 413c:2106 dell computer corp.

bus 002 device 002: id 0461:4d81 primax electronics, ltd

bus 002 device 001: id 1d6b:0001 linux foundation 1.1 root hub

bus 001 device 010: id 0bb4:0c87 high tech computer corp.

bus 001 device 001: id 1d6b:0002 linux foundation 2.0 root hub

列表中,bus 001 device 010: id 0bb4:0c87 high tech computer corp. 這一行為htc手機的usb使用埠,記錄一下,id為0bb4(基於上所有的htc都是這個id)。

$sudo vim /etc/udev/rules.d/70-android.rules

加入以下內容:

subsystem=="usb", attrs=="0bb4", attrs=="0c87",mode="0666"

其中的idvendor idproduct指的是usb的id可以使用lsusb查詢得到。

比如我的是:

lsusb

bus 001 device 010: id 0bb4:0c87 high tech computer corp

id 0bb4 就是idvendor ,0c87就是 idproduct

執行命令,重啟udev:

$sudo chmod a+rx /etc/udev/rules.d/70-android.rules

$sudo service udev restart    

三、重新啟動adbserver

(很重要)拔掉usb重新連上再執行:

sudo ./adbkill-server

./adbdevices

./adbroot (這一步很重要 )

四、使用usb進行除錯

問題說明中的問題至此已經得到解決。

在ddms選擇相應的devices,可以看到log了。。。。

五、知識積累

1. gooogle udev

2.拔插usb,使用以下命令可以實時監視系統資訊

sudo tail -f /var/log/messages

六、ubuntu 敲adbdevices 裝置列表為空,但lsusb可以檢視到pid與vid

sudo gedit ~/.android/adb_usb.ini   編輯該檔案

加入0x0bb4 後執行下面命令

sudo service udev restart 

android updateadb更新服務

七、參考

1. 2.

讀後感:

因為工作中用到在linux裡檢測adb的功能,所以找到上面這篇文章。參照上面的步驟一步步做最後成功地檢測到adb。值得注意的是,我在執行./adb root時,仍然提示no permissions,後來我參照

輸入 sudo ./adbstart-server後,再輸入./adbdevices驗證,問題才解決。

如果想要在任意路徑下都直接執行adb命令,需要把adb所在的路徑註冊到系統$path,方法是:

這時候還需要編輯一下 ~/.bashrc 檔案加入adbtool的路徑

vi ~/.bashrc
export path=$:/home/rabbit/documents/platform-tools  (摘自linux(ubuntu)下配置安裝adb工具 鏈結 

另外,$sudo service udev restart 指令可以用另外的指令代替:sudo /etc/init.d/udev restart 或者sudo restart udev (摘自

Ubuntu下adb工具安裝配置

2 解壓縮,並更新 cd adt bundle linux x86 64 20140321 sdk tools andirod 3 配置環境變數 sudo gedit bashrc set path for android sdk tools export path path adt bundle ...

ubuntu中adb的安裝

1 通過apt get安裝adb sudo add apt repository ppa nilarimogard webupd8 sudo apt get update sudo apt get install android tools adb 將android裝置連線至電腦,執行adb she...

ubuntu 下 adb 裝置掛載

經常在ubuntu 進行andorid 開發除錯的時候,adb 連線中斷 解決方案 1 查詢手機usb資訊 id 方法 先拔下手機連線pc的usb線,然後檢視usb裝置資訊,再次插入usb連線線,再次檢視usb裝置資訊,通過比較,查詢到自己手機的usb資訊。使用命令 lsusb bus 002 de...