
我是安卓新手。我剛剛下載並安裝了android sdk。現在,當我從 eclipse 運行應用程式時,我的裝置沒有被偵測到。我用谷歌搜尋並將此作為我的解決方案,但這也不起作用。
這是 51-android.rules
SUBSYSTEMS=="usb", ATTR{idProduct}=="0bb4", ATTR{idProduct}=="0c03", MODE="0666", GROUP="plugindev", OWNER="<username>"
之後我重新啟動了筆記型電腦,並執行了以下命令:
username@laptopname:~/Android/adt-bundle/sdk/platform-tools$ adb devices
我得到的輸出是:
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached
???????????? no permissions
編輯
crazydeveloper@crazydeveloper:~$ lsusb
Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.)
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 04f2:b337 Chicony Electronics Co., Ltd
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/004/
ls: cannot access /dev/bus/usb/004/: No such file or directory
crazydeveloper@crazydeveloper:~$
編輯:2
提交答案後,這是我得到的輸出:
crazydeveloper@crazydeveloper:~$ ls -l /dev/bus/usb/002
total 0
crw-rw-r-- 1 root root 189, 128 May 7 09:45 001
crw-rw-r--+ 1 root root 189, 129 May 7 09:45 002
crw-rw-rw- 1 root plugdev 189, 130 May 7 09:48 003
我正在使用 Micromax Canvas 2.2 A114 - Android 版本 4.2.2
請幫我。謝謝。
答案1
好的,這裡是讓它發揮作用的所有步驟。我在網路上找到的所有回應都遇到了問題,到處都是碎片,沒有任何特定的順序,也沒有單一的工作解決方案(運行 Android Studio、Jmonkey 3D 和 Ubuntu 14.04)
如果亞行設備將 Android 裝置顯示為???????(無權限)請依照以下說明操作:
建立文件/etc/udev/rules.d/51-android.rules
sudo gedit /etc/udev/rules.d/51-android.rules
複製並貼上以下內容:
SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0e79", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0502", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0b05", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="413c", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0489", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="091e", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0bb4", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="24e3", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="2116", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0482", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="17ef", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="1004", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0409", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="2080", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0955", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="2257", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="10a9", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="1d4d", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0471", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="04da", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="05c6", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="1f53", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="04e8", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="04dd", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0fce", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="0930", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTRS{idVendor}=="19d2", MODE="0666", GROUP="plugdev"
執行以下命令更改檔案權限:
sudo chmod a+r /etc/udev/rules.d/51-android.rules
透過 USB 連接手機並執行以下命令:
lsusb
尋找您的設備範例 (Nexus 5):
總線 003 設備 074:ID18天1:4ee7 谷歌公司
為了Nexus 5,供應商 ID 是18天1,我在公車上”003「如果您在插入裝置時沒有看到變化LSSB,也許您的 USB 電纜只能充電。
現在使用以下命令重新載入規則:
sudo udevadm control --reload-rules sudo service udev restart sudo udevadm trigger
驗證設備現在允許插頭開發者使用者群組訪問
ls -l /dev/bus/usb/<bus number from step 4>
例子:
ls -l /dev/bus/usb/003 crw-rw-rw- 1 root plugdev 189, 329 Jul 3 18:23 074
跑步亞行設備確認權限正確並享受!
筆記:如果您還沒有創建插頭開發者組和新增了您的用戶名(如果權限被拒絕,請在以下命令前面加上“sudo”):
添加plugdev組:
groupadd plugdev
添加您的使用者名稱到插頭開發者群組(useradd -G {群組名稱} 使用者名稱):
useradd -G plugdev billy
重新啟動 udev(您可能需要登出並重新登入以更新使用者群組):
sudo service udev restart
答案2
你必須改變兩件事:
將 51-android.rules 檔案中的第一個“ATTR{idProduct}”更改為“ATTR{idVendor}”。
從終端機運行這些命令:
sudo ./adb kill-server sudo ./adb start-server sudo ./adb devices
答案3
嘗試團體plugdev
而不是plugindev
。然後重新啟動udev:
sudo udevadm control --reload-rules
sudo service udev restart
如果這不起作用,請找出您的裝置與 lsusb 的特定連接位置。然後檢查權限:
ls -l /dev/bus/usb/YOUR_USB_BUS_NO/
事實lsusb
給了我們:
Bus 002 Device 004: ID 0bb4:0c03 HTC (High Tech Computer Corp.)
意味著您的手機作為裝置 004 連接到匯流排 002 /dev/bus/usb/002/004
。
請使用指令向我們顯示設備權限:
ls -l /dev/bus/usb/002/004
作為臨時解決方法,您可以使用此命令使裝置可讀/可寫入(確保您的手機已插入):
sudo chmod 666 /dev/bus/usb/002/004
然後再試adb devices
一次。
我還注意到在 udev 規則的末尾有OWNER="<username>"
.你確實把它替換成了OWNER="crazydeveloper"
,不是嗎?
你的權限還可以。 udev 擷取該裝置並將其權限設為 666,並將群組設為plugdev。由於某種原因,它並沒有將所有者設定為瘋狂的開發人員,但這並不重要。
確保您是plugdev 群組的成員。使用這個指令:
sudo useradd -G plugdev crazydeveloper
然後註銷,拔掉手機插頭,重新登錄,插入並重試adb devices
。讓我們知道發生了什麼。
答案4
我的 Android 裝置的 USB 偵錯似乎有問題,所以我進入開發人員設定並將其關閉。我重新插入 USB 電纜,然後出現一個窗口,允許我打開 USB 儲存裝置。這使得我的 Ubuntu 14.04 偵測到了 Android 裝置。我不知道是否所有設備都有此設置,但它解決了我的問題,而我嘗試了所有其他方法。謝謝