droidroid

android好きのandroidブログ コメント大歓迎です

Nexus5が欲しいです・・・
基本的に転載・リンクはフリーですが、一声かけてくださるとうれしいです。。

adb・ドライバ関連の不具合発生・・・

Nexus4のアップデートに備えて、adb環境の確認をしようとすると
Nexus4のドライバでトラブルがありました。

同じような状況になる可能性があること、また解決方法がなかなか複雑だったことを踏まえて
まとめておこうと思います。



まずは状況からです。

Nexus4のUSBデバッグをオンにした状態で
SDKが導入済のPCに接続。
コマンドプロンプトを開き、「adb shell」を実行
"error device not found"の文字が出る。

・・・これはおかしい。

確認してみると、Nexus4を外部ディスクとして認識している
つまりPCからNexus4をコマンド操作できない状態になってしまいました。

MTPモードになっていることがわかったので(←これが今回の原因?)
PCから取り外した後で
設定→ストレージ→メニューボタン
二つチェックする項目があるので、どちらもチェックを外します。

再度接続してみるも、操作できる状態になりません。
(ドライバが見つからない状態です。)

そこで、ドライバを再度インストールしようと思いました。


PCのコントロールパネルから「ハードウェアとサウンド」を選択。
続いてデバイスマネージャーを開きます。

デバイスマネージャーの「操作」から「ハードウェア変更のスキャン」を実行します。
→これで、Nexus4が認識されて、ドライバのインストールが始まります。
・・・と思ったら、「ドライバが見つからない」とのこと。。
・・・SDK/extras/google/usb_driverを指定して検索しても発見できず・・・

この時点でかなり焦り始めます(笑)

adb自体は生きていることがわかっていたので
念の為に、いったんadbプロセスを殺しておきます。

adb.exeのあるフォルダ(一般的にはsdk/platform-tools)で
Shiftキー+右クリック→「コマンドウインドウをここで開く」を選択します。

コマンドプロンプト

adb kill-serverと打ち込み、adbをいったん終了させます。


先ほど開いた、デバイスマネージャーの中から「Nexus4」を探しましょう。
見つけたら、右クリック→プロパティ→詳細タブと進みます。

プロパティ下の選択部分で「ハードウェアID」を選択します。
すると下部の「値」の部分に二つの文字列が表示されます。
便宜上、二つの値を値①(短い方)値②(長い方)としておきます。

内容は似ていますが最後の方が少しだけ違うかと思います。
ここまでできたら、この画面を開いたままで
sdk/extras/google/usb_driverを開きます。

フォルダの中に「android_winusb.inf」というファイルがあるので
テキストエディタ等で開きましょう。

このファイルに先ほど調べた「ハードウェアID」を追加していきます。

~~~
Google Nexus 4
%SingleAdbInterface% = USB_Install, 値①(短い方)
%CompositeAdbInterface% = USB_Install, 値②(長い方)
~~~

上記の文字列を[Google.NTx86]の下と[Google.NTamd64]の下に追加してください。
値①と値②はコピペで構いません。
記入する内容は[Google.NTx86]と[Google.NTamd64]で同じです。

記入ができたら、上書き保存しましょう。


ここまでできたら、デバイスマネージャーに戻り
操作→ハードウェア変更のスキャンを実行しましょう。
ドライバのインストールが開始されない場合は
Nexus4を右クリック→ドライバーソフトウェアの更新を実行します。

あとは参照先を「sdk/extras/google/usb_driver」に指定して検索をかければ
ドライバのインストールが完了します。


これでadbを実行する環境が復活します。

詳しい方には簡単な話しかもしれませんが、私はかなり焦ってしまいました(笑)

とりあえずは環境の確認が終わったので、次回はNexus7をアップデートしたいと思います。