2012-02-19 71 views
8

其他可能在ubuntu linux下遇到adb調試問題。如何在ubuntu下使用adb usb-connect android設備

症狀是usb連接android設備的可用性,例如,與日食。 當你

error: insufficient permissions for device 

你可能遇到像我同樣的問題,您可以與

adb usb 

進行測試。 但是,我在互聯網上發現了一些或多或少的次優解決方案

基本思想是以root身份啓動adb。我發現的解決方案非常麻煩。

一個建議是每sudo啓動adb。另一個建議是在/etc/init.d中設置啓動腳本。

我的解決方案是讓adb擁有以root身份啓動的權限。要做到這一點,切換到root

sudo bash 
chown root adb 
chmod ug+s-w adb 

安全愛好者可以提出

sudo chown root adb 
sudo chmod ug+s-w adb 

如果亞行已經在運行,你需要殺死惡魔,開始以root權限

adb kill-server 

當一切去吧

adb usb 

應該返回

restarting in USB mode 

如果沒有,使用的lsusb次檢查你的設備是否已經連接

+0

請不要這樣做! adb程序的作者不打算將其開發機器端作爲root運行,而是使用udev規則僅允許訪問列出的設備類型。信任一個程序超過其作者的建議是一個壞主意!此外,投票結束,因爲實際上並沒有提出問題,而這個話題已經被無數次覆蓋。 – 2013-04-28 17:38:43

回答

11

的谷歌推薦的方式來處理ADB設備權限是創建一個udev規則這將設置在設備上適當的權限枚舉。

http://developer.android.com/tools/device.html

如果你在Ubuntu Linux開發,你需要添加一個udev規則 文件,其中包含了每種類型的設備,你 要用於發展一個USB配置。在規則文件中,製造商的每個設備 都由唯一的供應商ID標識,由ATTR {idVendor}屬性 指定。有關供應商ID的列表,請參閱下面的USB供應商ID, 。在Ubuntu Linux上設置設備檢測:以root用戶身份登錄並創建此文件:/etc/udev/rules.d/51-android.rules。使用這種格式 到每個供應商添加到文件:SUBSYSTEM == 「USB」, ATTR {idVendor} == 「0BB4」,MODE = 「0666」,GROUP = 「plugdev」

在這個例子中,所述供應商ID是HTC。 MODE分配 指定讀取/寫入權限,GROUP定義哪個Unix組 擁有設備節點。注意:根據您的環境,規則語法可能略有不同 。根據需要查閱您的 系統的udev文檔。有關規則語法的概述,請參閱編寫udev規則的 指南。現在執行:chmod a + r /etc/udev/rules.d/51-android.rules當通過USB插入時, 可通過執行您的SDK platform-tools /目錄中的 的adb設備來驗證您的設備已連接。如果連接,您會看到 設備名稱被列爲「設備」。

2

使用以下三個命令其作品對我來說

sudo bash 
adb kill-server 
adb usb 
+1

-1不要以root身份運行adb – 2014-08-08 16:07:54