デバイスでUSBデバッグを有効にする
これは、設定›開発で行います。設定メニューにそのエントリがない場合は、[設定]› [バージョン情報]に移動して[ビルド番号]までスクロールし、デバイスが開発者になったことを祝福するまで猿のようにハンマーで叩きます。[設定]メニューのメインページに戻り、下部にある[開発](または[開発者])設定が表示されます。入力して、ここでUSBデバッグを有効にします。
デバイスを識別する
まず、デバイスがUSBバス上でどのように識別するかを知る必要があります。そのためには、Androidデバイスが接続されていない状態で、シェルをつかんでコマンドを実行しlsusb
ます。次に、デバイスを接続して、コマンドを再度実行します。新しい行を見つけます。Wileyfox Swiftの場合、これは「名前のないデバイス」です。
Bus 004 Device 003: ID 2970:2282
ADBのルールを設定する
ここで、上記の行の最後に数字が必要です2970:2282
。これらは、ベンダー(2970)とデバイス自体(2282)を指定します。これらの詳細があるため、ファイルを編集(または、まだ存在しない場合は作成)するために、Linuxマシンにルートシェルが必要/etc/udev/rules.d/51-android.rules
です。そこに、デバイスの行を追加します。次の例の行は、Wileyfox Swiftの検索方法を示しています。¹
SUBSYSTEMS=="usb", ATTRS{idVendor}=="2970", ATTRS{idProduct}=="2282", MODE="0666" GROUP="androiddev", SYMLINK+="android%n"
別のデバイスを使用している場合は、ベンダーIDと製品IDを、実行時に上記で見つけたものに置き換えますlsusb
。行の簡単な説明:
SUBSYSTEMS=="usb"
:明らかに、このルールはUSB専用です;)
ATTRS{idVendor}=="2970"
:このルールが対象とするデバイスのベンダーID
ATTRS{idProduct}=="2282"
:デバイスID
MODE="0666"
:デバイスノードが取得するアクセス許可。0666
システム上のすべてのユーザーに読み取りと書き込みの許可を与えるのは非常に緩いです。したがって、懸念がある場合は、それを0660
(所有者とグループのみに読み取り/書き込みを許可し、他のユーザーにはすべてを拒否して)に置き換えてみてください。
GROUP="androiddev"
:デバイスノードが属するグループ。これは、ユーザーがデバイスを操作する予定のグループです。
SYMLINK+="android%n"
:ノードに素敵な名前を付けるだけ/dev
で、簡単に見つけることができます(私の場合、後で表示されます/dev/android5
)
そのルールはに入力され/etc/udev/rules.d/51-android.rules
、それudev
を利用するように指示する必要があります。最も安全な方法(再起動の次に;)は、udev
サービスを再起動することです。Linuxディストリビューションに応じて、これはservice udev restart
またはを介して実行できます/etc/init.d/udev restart
。
ルートシェルはそのままにしておきます。Androidデバイスを切断して再接続し、再試行してくださいadb devices
。現在、ほとんどのデバイスが表示されていますが、Wileyfox Swiftは表示されていません。明らかに追加の抱擁が必要です。そのような状況にある場合は、ファイルを開く(または、存在しない場合は作成する)~/.android/adb_usb.ini
を 1行追加し、lsusb
上記で見つけたベンダーに名前を付けます。以下のためにスウィフトだろう0x2970
(yupp、ここでは次の方法でそれを前に付ける必要があり0x
、それは16進数だと指摘します)。次に、ADBサーバーを再起動しますadb kill-server && adb start-server
。デバイスを切断して再接続します。これadb devices
で表示されるはずです。
デバイスを接続する
気づいadb devices
たかもしれません0123456789ABCDEF unauthorized
。それは大丈夫であり、あなたの(デバイス)の安全のために:あなたのコンピューターは、デバイスにアクセスするために最初に許可されなければなりません。adb shell
すぐに発行します。error: device unauthorized. Please check the confirmation dialog on your device.
フォローアドバイス(オプションでコンピューターを永続的に認証するためのチェックボックスをオンにします)で終了します。これで完了です。adbを使用してデバイスにアクセスできます。
更新:
¹それ以降のLinuxバージョンでは、UDEVルールの構文が次のようにわずかに変更されていることに注意してください。 jcomeau_ictxがコメントで指摘したように。上記の値については、次のようになります。
SUBSYSTEM=="usb", ATTR{idVendor}=="2970", ATTR{idProduct}=="2282", MODE="0666", GROUP="plugdev", SYMLINK+="android%n"
2つの違い:現在 SUBSYSTEM
(複数ではない)、グループがから変更されandroiddev
ましたplugdev
(前者は最近のシステムには存在せず、後者は存在し、通常は少なくとも最初のユーザーに割り当てられます)。
さらに、vendorIDを追加する必要がある場合があります~/.android/adb_usb.ini
(1行に1つのID、16進表記):
# ANDROID 3RD PARTY USB VENDOR ID LIST
# 1 USB VENDOR ID PER LINE.
0x2970