ユーザーアクセス用のadbの設定

ユーザーアクセス用のadbの設定

最近Android携帯(最初)を購入しました。これは質問とは関係ないかもしれませんが、Android 4.4.2を実行しているMicromax Canvas Hue AQ5000です。

現在Debian wheezyを実行しているコンピュータから電話にアクセスしたいと思います。誰かが私にADBをお勧めしました。インストールandroid-tools-adbして有効にしました。開発者オプションとUSBデバッグadb shellたとえば、次のように電話にアクセスできます。

ただし、ADBはユーザーとして実行できません。ここに対応するudevファイルです/lib/udev/rules.d/70-android-tools-adb.rules

# Set ACLs for console users on adb USB devices
# d001 recovery
# d002 system

ACTION=="add|change", SUBSYSTEM=="usb", \
  ATTRS{idVendor}=="18d1", ATTRS{idProduct}=="d001|d002", \
  TAG+="uaccess"

ユーザーアクセスを許可するには、このファイルをどのように変更する必要がありますか?自然な方法は、グループへのアクセスを提供するようです。この文脈では、次の提案があります。「Androidデバッグブリッジ(adb)デバイス - 許可なし」への回答これは次のことを示します。

SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0666", GROUP="plugdev"

それではGROUP="plugdev"、上記のファイルに追加する必要がありますか、それとも良い方法がありますか?また、このセクションは何を意味しますかATTRS{idVendor}=="18d1"?すべてのデバイスで動作しますか?また、どういう ATTRS{idProduct}=="d001|d002"意味ですか?

私はDebian Bug Trackerに良い提案を伝えることを検討します。

ベストアンサー1

私のGentooシステムには、以下のudevルールが設定されています(/lib64/udev/rules.d私のために):

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="0bb4", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="04e8", MODE="0664", GROUP="android"
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0664", GROUP="android"

これらのルールを使用すると、グループ内の誰もがUSB Androidデバイス(22b8 = Motorola、0bb4 = HTC、04e8 = Samsung、18d1 = Google)にアクセスできますandroid

ユーザーがそのグループのメンバーである限り、使用することを決定したグループの名前は重要ではありません。


USB識別子の他の問題を解決するために、ベンダーと製品IDは特定のデバイスを識別します。あなたはあなたの識別子を使用または見ることができdmesgますlsusb。たとえば、電話を接続すると、dmesg次のように報告されます。

[ 4573.116303] usb 4-5: New USB device found, idVendor=22b8, idProduct=2e63

そしてlsusb報告:

Bus 004 Device 005: ID 22b8:2e63 Motorola PCS

これは、携帯電話のベンダーIDが22b8で、製品IDが2e63であることを示しています。 udevルール:

SUBSYSTEM=="usb", ATTR{idVendor}=="22b8", MODE="0664", GROUP="android"

このデバイス(および製品IDに限定されないため、すべてのMotorola携帯電話)と一致し、この携帯電話のUSBデバイスの権限を設定します。

crw-rw-r--+ 1 root android 189, 388 May  5 19:38 /dev/bus/usb/004/005

USBバスとデバイス番号を使用してUSBデバイスを見つけ、その権限を確認できます。このデバイスへの読み取り/書き込みが可能な場合は、電話にアクセスする必要があるプログラムやその他のプログラムをlsusb使用できます。Bus 004 Device 005.../004/005adb

注:デバイス名はシステムによって多少異なる場合があります。私はudev 215とLinuxカーネル4.0.1を実行しています。

おすすめ記事