web-dev-qa-db-ja.com

adb devicesコマンドが機能しない

Ubuntu 10.10 64ビットを実行しています。 Android Debug Bridgeバージョン1.0.26とともにia32-libsがインストールされています。

私の問題:

  1. adb devices >>> ????????????許可なし
  2. Sudo adb devices >>>> sudo:adb:コマンドが見つかりません
  3. adb Shell >>>エラー:デバイスの権限が不十分です

これらはすべて関連していると思います。関連情報は次のとおりです。

$ echo $PATH
/home/me/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/Android-sdk-linux_x86/tools:/opt/Android-sdk-linux_x86/platform-tools

$ which adb
/opt/Android-sdk-linux_x86/platform-tools/adb

$ adb devices
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
List of devices attached 
????????????    no permissions

$ Sudo adb devices
Sudo: adb: command not found

$ adb Shell
error: insufficient permissions for device

CM6.1を実行しているルート化されたMoto DroidとCM7ベースのROMを実行しているルート化されたG-Tabでも同じ結果が得られます。

次の関連記事を確認しました。

提案のほとんど(すべてではない)を試しましたが、問題を解決できませんでした。私が試しなかったことは不適切と思われました。さらにいくつかのヒントをいただければ幸いです。引き続きトラブルシューティングを行います。

私がやろうとしなかったことの1つは、/ etc/udev/rules.d/70-Android.rulesの編集でした。それが問題になりそうですか? 「Sudo:adb:command not found」がどのように発生するかわかりません。たぶん私の問題はすべて関連しているわけではありません。とにかく、この時点では、他の投稿で議論されているパスの問題や他の一般的な問題があるとは思わないため、他の人からの入力が必要だと思います。

編集:解決済みEboMikeとRivieraKidに感謝します。これは実際には2つの異なる問題でした。

  1. 上記の項目#2(Sudo:adb:コマンドが見つかりません)は、次のようにシンボリックリンクを作成することで解決しました。

    $ Sudo ln -s /opt/Android-sdk-linux_x86/platform-tools/adb /usr/local/sbin/adb
    

    これにより、EboMikeが提案したとおりに実行でき、 このソリューション を使用できました。それを行うことは私のMoto Droidに必要でした。 (ただし、Viewsonic G-Tabletでは、adbをSudoとして実行する必要はありませんでしたnot。)

  2. 私の他の2つの項目は、RivieraKidが提案したようにudevルールを実装することで解決されました(これから link )。

86
MountainX

私がやろうとしなかったことの1つは、/ etc/udev/rules.d/70-Android.rulesの編集でした。それが問題になりそうですか?

あなたがそうしなかった特別な理由はありますか?質問に答える-はい! udevルールは、Ubuntuにデバイスが何であるかを通知し、ユーザースペースツールがデバイスにアクセスできるようにするものです。

指示 に正しく従わないと、adbを使用できません。

ただし、そのことを念頭に置いて、使用しているUbuntuのバージョンを言うことはありませんが、10.10で問題が発生しました。ルールファイルの内容を投稿する必要がある場合はお知らせください。

Sudoを介したadbの実行について心配する必要はありません。必要ありません。 udevルールのMODE="0666"を使用すると、任意のユーザーとしてデバイスにアクセスできます。


編集:

ルールをリロードすることを忘れないでください:

Sudo udevadm control --reload-rules

編集#2:

@Jesse Glickが正しく指摘しているように、adbがすでにデーモンモードで実行されている場合、これを機能させるには再起動する必要があります。

Sudo adb kill-server

ここでSudoを使用しました。これはadbが強制終了されることを保証するためです。これは、サーバーを停止するために公式にサポートされている方法です。次にadbが使用されるときに自動的に再起動されますが、今回は正しい環境で再起動されます。

87
RivieraKid

Rootとしてadbサーバーを再起動する必要があります。 here を参照してください。

22
EboMike

私のGentoo/Funtoo Linuxシステムでは、同様の問題が発生しています。

私は常に正しいデバイスの説明と不十分な許可を得ていません:

# Sudo ./adb devices
List of devices attached 
????????????    no permissions
# ./adb usb
error: insufficient permissions for device

私にとっては、Googleの howto に役立ちます。私の場合、udevルールを追加する必要がありました。

# cat /etc/udev/rules.d/51-Android.rules 
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev" 

ファイルシステムの権利の設定

# chmod a+r /etc/udev/rules.d/51-Android.rules

スマートフォンを再接続すると、電話へのアクセスが成功し、EclipseのAndroid Device Chooserにも表示されます。

# Sudo ./adb devices
List of devices attached 
3XXXXXXXXXXXXXC device
# Sudo ./adb usb
restarting in USB mode

また、plugdev-groupへのユーザーのメンバーシップを確認する必要があります。

13
larkee

私が読んだすべての答えは、SUBSYSTEM=="usb"を示しています。ただし、私の(おそらく古代の)udevでは、これをDRIVER=="usb"に変更する必要がありました。最後に、非rootユーザーとしてadbサーバーを実行できます。

Udevmonitor --envの出力に続いて、

udevinfo -a -p <DEVICE_PATH_AS_REPORTED_BY-udevmonitor>
3
anon

IntelliJ IDEAのようなIDEは、独自のadb-serverを起動する傾向があることに注意してください。

サーバーを手動で強制終了し、Sudoで新しいインスタンスを実行しても、IDEを使用してサーバー自体を強制終了するまで、ここでは役に立ちません。

2
sebastianwagner

ルートが私のために働いたとしてadbサーバーを再起動しました。見る:

[email protected]:~/Downloads$ adb sideload angler-ota-mtc20f-5a1e93e9.Zip 
loading: 'angler-ota-mtc20f-5a1e93e9.Zip'
error: insufficient permissions for device
[email protected]:~/Downloads$ adb devices
List of devices attached
XXXXXXXXXXXXXXXX    no permissions

[email protected]:~/Downloads$ adb kill-server
[email protected]:~/Downloads$ Sudo adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[email protected]:~/Downloads$ adb devices
List of devices attached
XXXXXXXXXXXXXXXX    sideload
2
keredson

Debian GNU/Linuxシステムでシステムルールをそのように上書きすることでこの問題を修正しました。

mv  /etc/udev/rules.d/51-Android.rules /etc/udev/rules.d/99-Android.rules

リンクされたファイルのコンテンツを使用しました: http://rootzwiki.com/topic/258-udev-rules-for-any-device-no-more-starting-adb-with-Sudo/

1
RzR

新鮮なCyanogenmod 11を実行しているHTC One m7.

電話はUSBに接続され、データ接続をテザリングしています。

それから私はこの驚きを得ます:

[email protected]:~/temp/htc_m7/2015-11-11$ adb Shell
error: insufficient permissions for device

[email protected]:~/temp/htc_m7/2015-11-11$ adb devices
List of devices attached
????????????    no permissions

解決策:電話でテザリングをオフにします。

[email protected]:~/temp/htc_m7/2015-11-11$ adb devices
List of devices attached
HT36AW908858    device
0
cinderman