UbuntuのADBがNexus 4を認識しない


8

UbuntuのADB(新しいカーネルがインストールされている12.04:3.8.0-30-generic)でNexus 4スマートフォンを認識させることができません。電話で開発者モードが有効になっています。

デバイスがlsusbに表示されます

$ lsusb
...
バス003デバイス034:ID 18d1:4ee5 Google Inc. 
...

しかし、adbデバイスを実行すると、空のリストが表示されます。この問題についてインターネット上で多くの投稿を見つけましたが、どれも問題を解決していません。2つの解決策があります。

  • /etc/udev/rules.d/51-android.rulesにルールを追加します。このファイルのコンテンツにはさまざまなバリエーションが見つかりました。ほとんどの場合、idVendoridProductの値は、lsusbの出力に基づいて設定する必要があります。以下は私が試したいくつかの例です
SUBSYSTEM == "usb"、ATTRS {idVendor} == "18d1"、ATTRS {idProduct} == "4ee5"、MODE = "0666" GROUP = "androiddev"、SYMLINK + = "android%n"
SUBSYSTEM == "usb"、ATTR {idVendor} == "18d1"、MODE = "0666"、GROUP = "plugdev"
SUBSYSTEM == "usb"、ATTRS {idVendor} == "18d1"、SYMLINK + = "android_adb"、MODE = "0666"
SUBSYSTEM == "usb"、ATTR {idVendor} == "18d1"、ATTR {idProduct} == "4ee5"、MODE = "0666"、OWNER = "my-login" 

これを追加した後、ルールファイルの権限を644に設定し、PCを再起動し、udevを再起動し、電話を再起動して、Nexus 4を接続しました。

  • ベンダーIDを〜/ .android / adb_usb.iniに追加します。
エコー0x18d1 >>〜/ .android / adb_usb.ini

私は走ったADBデバイスをルートと通常のユーザーとして、私は唯一の空のリストを取得します:

$ adbデバイス
*デーモンが実行されていません。ポート5037で今すぐ開始*
* デーモンが正常に起動しました *
接続されたデバイスのリスト 

この問題を解決する方法に関するアイデアはありますか?提案の助けをいただければ幸いです。

回答:


7

(ビルド番号を繰り返しタップして)開発者オプションページを設定メニューに表示させるだけでは不十分です。そのページには、デフォルトでオフになっているUSBデバッグオプションがあります。

USBデバッグが有効になっている場合、USBを使用してデバイスをPCに接続すると、adb現在PCで実行されているかどうかに関係なく、「USBデバッグが接続されました」という通知が表示されます。


答えを詳しく教えてください。この「ページ」はどこにありますか?
ルイス・デ・スーザ


adbタッチスクリーンが壊れているので接続しようとしています。メニューやアプリケーションにアクセスする手段がありません。このUSBデバッグ機能をアクティブにする他の方法はありますか?
ルイス・デ・スーザ

1

設定されたubuntuでNexus 4 udevルールを取得する方法のより完全な指示セットについては、次の指示に従ってください。

デバイスのベンダーIDを見つける方法

次のLinuxコマンドを使用して、USB接続デバイスのベンダーIDを見つけることができます。

lsusb

これにより、接続されているすべてのUSBデバイスのリストが生成されるので、接続する前にデバイスが接続されていることを確認してください。

Bus 001 Device 004: ID 18d1:4ee2 Google Inc.

IDの後のフィールドの最初の部分はベンダーID(18d1)で、2番目の部分はデバイスが接続されているモードに対応しています。この場合、4ee2はデバッグがオンのMTPモードと同じです。

NEXUS 4のUDEVルールを作成する

UbuntuでNexus 4の電話を検出できるようにするには、まず、システムが電話を検出できるようにする適切なudevルールを作成します。

これらのudevルールは、4つの異なるケースを処理できる必要があります。

  • MTPモードで接続された電話(USBデバッグのオンまたはオフ)
  • PTPモードで接続された電話(USBデバッグのオンまたはオフ)
  • Fastbootモードで接続された電話
  • リカバリーモードで接続された電話

それらはで宣言され/etc/udev/rules.d/99-android.rulesます。ファイルがすでに存在する場合は、ファイルの最後にコンテンツを追加してください。

# sudo gedit /etc/udev/rules.d/99-android.rules

以下の内容を追加する必要があります。your-loginフィールドを、ログインに使用した適切なユーザー名に置き換えてください

# Google Nexus 4 16 Gb
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee1", MODE="0666", OWNER="your-login" # MTP media (multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee2", MODE="0666", OWNER="your-login" # MTP media with USB debug on(multimedia device)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee5", MODE="0666", OWNER="your-login" # PTP media (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee6", MODE="0666", OWNER="your-login" # PTP media with USB debug on (camera)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4ee0", MODE="0666", OWNER="your-login" # Bootloader
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="d001", MODE="0666", OWNER="your-login" # Recovery

サービスを再開する

完了したら、udevサービスを再起動する必要があります。

# sudo service udev restart

場合によっては、adbの再起動が必要になることもあります。

adb kill-server
adb start-server

または、次のコマンドでシステムを完全に再起動します。

sudo reboot -n

(再起動ではなく)USBケーブルを再接続しても機能する場合があります。

ADB接続を承認する

電話機でADBデバッグオプションを有効にして、この新しい接続を作成した場合、ADBコマンドはデバイスをとしてリストすることがありますunauthorized。スマートフォンの画面を確認して、新しい接続を承認してください。

クレジット

この情報のほとんどは、http://bernaerts.dyndns.org/android/267-android-nexus4-root-twrp-ubuntuで見つかりました。これは、ubuntuでのNexus 4の応援ガイドです。このガイドの最初のステップのみを使用しました。


Ubuntu 14.04でこのソリューションを試したところ、システムを再起動してもNexus 4が認識されません。
ルイス・デ・スーザ

root権限でadbを起動してみましたか?Ubuntu 14.04に関する他の返信の1つを参照してください+デバイスのUSB接続モードを確認しましたか?
hcpl 2016年

はい、私はそれを試してみましたsudo。電話機は、デバッグがオフのMTPモードで接続されます。
ルイス・デ・スーザ

1

私はUbuntu 14.04 LTSを実行していますが、自分の電話を検出するには、ルート権限でadbを実行する必要があることがわかりました。ちょうど今、(platform-toolsディレクトリから)実行./adb devicesして、空のリストができました。./adb kill-server次に、を実行して、ルートとしてadbを再起動しましたsudo ./adb start-server。今すぐadb devices返します:

List of devices attached 
01d17087d29dec60    device

以前は次のようになりました。

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


殺してからrootで始めたところ、うまくいきました。Nexus 5の使用
Russ Wheeler

1
Ubuntu 14.04でこのソリューションを試したところ、空のデバイスリストが表示されます。
ルイス・デ・スーザ

0

参考:最近、スマートフォンでAndroidバージョンを4.4から5.0に更新しましたが、ADBはデバイスが接続されていると表示しなくなりました。USB接続方法のMTPPTP になる 前に正しいところだったようです。


答えを詳しく教えてください。この方法はどこで微調整すべきですか?
ルイス・デ・スーザ

前にMTPが正しかったと述べたように、更新PTPが正しかった後。
flowtron 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.