web-dev-qa-db-ja.com

EclipseとADBが私のAndroidデバイスを認識しないのはなぜですか?

私のデバイスはAlcatelOneTouch890でAndroid 2.1。51-Android.rulesフォルダーのrules.d/etc/udevで構成しました。

私のオペレーティングシステムはUbuntuです。

デバイスでUSBデバッグモードを有効にしました。

HTCとSamsungデバイスは検出していますが、私のアルカテルは検出していません。

これが私の51-Android.rulesファイルです。

#HTC
SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="0bb4", MODE="0666"
#samsung 
SUBSYSTEM=="usb", SYSFS{idVendor}=="04e8", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}==”04e8”,ATTRS{idProduct}=="689e", MODE="0666",OWNER="abcd"
#alcatel
SUBSYSTEM=="usb", SYSFS{idVendor}=="1bbb", MODE="0666"
SUBSYSTEM=="usb_device", SYSFS{idVendor}=="1bbb", MODE="0666"


root@abcd:/home/abcd# lsusb
Bus 005 Device 002: ID 0461:4d15 Primax Electronics, Ltd Dell Optical Mouse
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 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 006: ID 1bbb:00f2 T & A Mobile Phones  // what is T & A in this line....?
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@abcd:/home/abcd# Android/android-sdk-linux_86/platform-tools/adb devices
List of devices attached 
17
Noby

まず、udevルールで使用している引用符の種類を確認します。非ASCIIの二重引用符を使用しているようです。 usbusb_deviceなどの引用符の違いを確認してください。

SUBSYSTEM=="usb", SYSFS{idVendor}=="1bbb", MODE="0666"
SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”1bbb”, MODE="0666"

@JeremyDが提案しているように、ADBでSudoを使用することもできます。そうすることで、このファイルは本質的に無関係になります。

第二に、

  1. ~/.Android/adb_usb.iniを編集します(または、rootとして実行している場合は、/root/.Androidを確認します)
  2. ファイルがすでに存在する場合は、末尾に0x1bbbを追加します。それ以外の場合:echo 0x1bbb >> adb_usb.ini
  3. adb kill-server
  4. adb start-server
  5. お使いのデバイスのadb devicesの出力を確認してください

お役に立てれば。

13
Joel F

Alcatel OneTouch 891-Android 2.1

Androidデバイスの設定に関するこれらの役立つヒントやその他の投稿を読んで、デバイスを準備する方法をステップバイステップのチュートリアルで書き留めました。

〜/ .Android/adb_usb.iniを編集し、下部に0x1bbb行を追加します。

これはリストされます:

$ adbデバイス
接続されたデバイスのリスト
????????????権限なし

それを機能させるためのステップ:
自分をグループに追加する
ディストリビューション用の51-Android.rulesパッケージをインストールし、ファイルを開きます。
/etc/udev/rules.d/51-Android.rules

**そこにない場合は、パッケージファイルを一覧表示し、このファイルを見つけます。

OneTouchまたは名前を付けたいコメントセクションの下に次のセクションを追加します。

SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”1bbb”, MODE="0666"

したがって、結果は次のようになります。

# Alcatel OneTouch 891
SUBSYSTEM==”usb_device”, SYSFS{idVendor}==”1bbb”, MODE="0666"

ファイルを保存してください!
デバイスのUSBを数回再接続してから、adbデーモンを再起動します。
ディストリビューション固有:

  • Archlinux

    $ rc.d restart adb

  • ubuntu、redhat、Fedora、centos

    $ service adb restart

または手動で:

$ adb kill-server
$ adb start-server

$ adb devices

デバイスが一覧表示されます。

最後に:

私の結果はbashで表示されます:

$ adbデバイス
接続されたデバイスのリスト
0123456789ABCDEFデバイス

  • それでも結果が得られない場合:次のコマンドを実行します。

    $ udevadmトリガー

その後、デバイスを再度接続します。または単に再起動します。

証明:


Dalvik:
http://wstaw.org/m/2011/11/13/plasma-desktopos8794.jpg
ファイル管理:
http://wstaw.org/m/2011/11/13/plasma-desktopgt8794.jpg

7

Eclipseを閉じた後、adbサーバーを強制終了して起動してみてください。

だから試してみてください:

  1. eclipseを閉じる
  2. platform-toolsディレクトリに移動します
  3. do:Sudo ./adb kill-server
  4. 携帯電話で開発デバッグを無効にする
  5. もう一度有効にします
  6. do:Sudo ./adb start-server
  7. 行う:./ adbデバイス

動作するはずです。私は何度かこの問題を抱えていました、そしてこれをすることによって私があなたに与える指示をした後にそれは働いていました。

それがお役に立てば幸いです!

編集:ほとんどのAndroid開発者がAndroidスタジオや他のエミュレーターに移動したため、これは機能しない可能性があります。

4
Jeremy D

これをチェックしてください

http://developer.Android.com/guide/developing/device.html#setting-up

アルカテルが含まれていないのは変です

3
Ahmed Salem

私はアルカテル電話も持っており、次のようにしてこの問題を解決します。

1 .#lsusb

バス002デバイス021:ID 18d1:0002 Google Inc.//これは私のアルカテル電話です

2。以下を/etc/udev/rules.d/51に追加-Android.rules:

SUBSYSTEM == "usb"、ATTRS {idVendor} == "18d1"、ATTRS {idProduct} == "0002"、MODE = "0666"

注:「idVendor」が必要であることに気付きました。「idProduct」も追加する必要があります。

.#Sudo service udev restart

4。電話のプラグを抜き、もう一度差し込みます。

5.#adbデバイス

接続されたデバイスのリスト

TCL-Martiniデバイス

1
wayne_bai

CentOS上のデバイスを認識するadbの永続的な解決策を見つけたいと思う人のために、私は解決策を見つけました。

まず、adbをrootとして実行することは良い解決策ではありません。なぜなら、adbはいつでもどのユーザーでも再起動できるからです。 IDE adbを自動再起動すると、adbは再びブラインドになります。

私の解決策は、グループ「adb」を作成し、このグループにユーザーを追加することでした。次に、51-Android-rulesで、次のようにGROUPを追加します。

SUBSYSTEM=="usb", SYSFS{idVendor}=="0bb4", MODE="0666", GROUP="adb"

Udevルールをリロードします。 gnomeセッションを使用している場合、gnomeはグループのキャッシュを保持しているため、セッションを再開します...

新しいxtermを開き、adbグループに属していることを確認します:$ groups

次に$ adb devices adbサーバーを起動してから、デバイスを識別します。

1
darkhi

受け入れられた回答がOPで機能したことは知っていますが、将来この問題が発生し、上記の回答が機能しない場合は、次のことが有効でした。

この普遍的なudevルール-

ACTION=="add", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:ff420?:*", MODE="0666"

この質問から- ADBはubuntu12.04でデバイスsamsungi777を検出しません

ここでの関連する質問で述べたように、「BLU Dash Jr」電話(ベンダー= Spreadtrum)でこの問題を解決するのに役立ちました。

Spreadtrum(ベンダーID 1782)adbへの接続の問題

1
jjmilburn

ArchLinuxを使用していますこのパッケージをインストールしました: https://aur.archlinux.org/packages.php?ID=51476 ArchとAndroidの詳細が必要なすべてのルールをインストールしました: https ://wiki.archlinux.org/index.php/Android

0
Ahmed Aswani

デバイスで、USBインターフェイスをMTPまたはPTPとして使用していることを確認してください。デフォルトで大容量ストレージインターフェイスで始まる場合があり、adbにはデバイスへのアクセス許可が付与されていないようです。

0
Pablo Valdes