UbuntuがAndroidデバイスを検出しない

UbuntuがAndroidデバイスを検出しない

私は Android 初心者です。Android SDK をダウンロードしてインストールしたばかりです。Eclipse からアプリケーションを実行すると、デバイスが検出されません。Google で検索して、これが解決策として見つかりましたが、それも機能しませんでした。

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

OK、これがこれを機能させるためのすべての手順です。オンラインで見つけたすべての回答で問題が発生しました。特定の順序がなく、単一の有効な解決策がない、あらゆる場所に断片的な回答がありました (Android Studio、Jmonkey 3D、Ubuntu 14.04 を実行)。

もしadbデバイスAndroidデバイスを次のように表示します?????????(権限なし) 次の手順に従ってください:

  1. ファイルを作成するルール

    sudo gedit /etc/udev/rules.d/51-android.rules
    
  2. 以下の内容をコピーして貼り付けます:

    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" 
    
  3. ファイルの権限を変更するには、次のコマンドを実行します。

    sudo chmod a+r /etc/udev/rules.d/51-android.rules
    
  4. USB経由で携帯電話を接続し、次のコマンドを実行します。

    lsusb
    

    デバイスを探します 例 (Nexus 5):

    バス 003 デバイス 074: ID18d1:4ee7 Google Inc.

    のためにネクサス5ベンダーIDは18d1、私のはバスに乗っています」003「デバイスを接続しても変化が見られない場合は、lsusb はおそらく、お使いの USB ケーブルは充電専用です。

  5. 次のコマンドでルールをリロードします。

    sudo udevadm control --reload-rules
    sudo service udev restart
    sudo udevadm trigger
    
  6. デバイスが現在許可されていることを確認するプラグデブユーザーグループアクセス

    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
    
  7. 走るadbデバイス権限が正しいことを確認してお楽しみください!

注記:作成していない場合はプラグデブグループとユーザー名を追加しました(権限が拒否された場合は、次のコマンドの前に「sudo」を追加します)

  1. plugdev グループを追加します:

    groupadd plugdev
    
  2. あなたのユーザー名プラグデブグループ (useradd -G {グループ名} ユーザー名):

    useradd -G plugdev billy
    
  3. udev を再起動します (ユーザー グループを更新するには、ログオフして再度ログインする必要がある場合があります)。

    sudo service udev restart
    

答え2

2 つの点を変更する必要があります。

  1. 51-android.rules ファイルの最初の「ATTR{idProduct}」を「ATTR{idVendor}」に変更します。

  2. ターミナルから次のコマンドを実行します。

    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 に接続されていることを意味します。そのため、udev はデバイス オブジェクトを作成しました/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 に設定しました。何らかの理由で所有者が crazydeveloper に設定されませんでしたが、これはそれほど重要ではありません。

グループ plugdev のメンバーであることを確認してください。次のコマンドを使用します。

sudo useradd -G plugdev crazydeveloper

その後、ログオフし、モバイルを取り外し、再度ログオンし、差し込んでadb devices再試行してください。何が起こっているかをお知らせください。

答え4

私の Android デバイスは USB デバッグがオンになっていて、それが問題だったようだったので、開発者設定でオフにしました。USB ケーブルを再度差し込むと、USB ストレージをオンにできるウィンドウが表示されました。これで、Ubuntu 14.04 が Android デバイスを検出しました。すべてのデバイスにこの設定があるかどうかはわかりませんが、他の方法をすべて試しましたが、私の問題は解決しました。ありがとうございます。

関連情報