Xamarin
android開発

PCがスマホを認識しなくなった時の対策

PCにスマホ(私の場合Android)をUSB接続して、仮想マシン(私の場合VMware)でXmarinやAndroid Studioを使ってアプリを開発し実機テストしたりすると思うのですが、VMwareでゲストOSを起動してからスマホをUSB接続するとホストOSでもゲストOSでもスマホを認識しなくなりませんか?
解決するためにUSBを挿し直したり、スマホのUSB設定をMTP→充電のみ→MTPに切り替えてみたりしますが全然認識してくれず、しかたなく放置しているとWindows UpdateでOSに大きな変更があった後、いつの間にか認識するようになっていたなんてことが続いていました。ですが、最近スマホアプリの開発に力を入れてきた関係でそんな悠長なことは言ってられなくなりました。
そこで、海外サイトをググってみたところ「USBDeview」なるものを見つけました。
無題.png
一覧の該当行を右クリックすると以下のようなメニューが出ます。
無題22.png
人によっては「Disable+Enable Selected Devices」などやってみると認識するようになるかもしれませんが、私の場合、全然ダメでした。
(くれぐれも自己責任でお願いしたいのですが)そこで最後の手段として「Uninstall Selected Devices」を行いました。
そしてPCをシャットダウン、スマホを再起動、一晩寝て、PC起動、スマホをUSB接続とやってみたところUSBドライバが再インストールされ認識するようになりました!!
これでスマホアプリの開発ができるぞ!
皆さんもPCがスマホを認識しなくなって困ったときは一度挑戦してみてはいかがでしょうか。

追記 2018/2/10

上記の翌日、USB接続してみたところ何故か認識しなくなりました。
再度USBDeviewで「Uninstall Selected Devices」を行ったのですが駄目でした。
半分諦めかけたのですが、とあるサイトにスマホのシステムアプリのデータを消去すれば認識するようになると記載されていましたので、早速やってみたところ認識しました!
手順は以下の通りです。(自己責任でお願いします)
1. Androidスマホで[設定]-[アプリ]を開く
2. 右上の点3つのアイコンから[システムを表示]をタップ
3. 「シェル」「システムUI」「キーチェーン」「スケジュールに沿って電源ON/OFF」「ストレージの設定」「設定」など(※どれが本当に必要なのか不明)の[ストレージ]-[データを消去]、[キャッシュを消去] 実行
4. スマホを再起動
5. PCにUSB接続すると認識

追記 2018/2/16

後日、再び認識しなくなる事態が発生。上記の方法を試しても解決しない。
調べていたところAirDroidアプリでWifi接続できることが判明。
また、XamarinはXamarin Live Playerアプリで同じくWifi接続できることが判明。
急場をしのぐことができました。

追記 2018/4/22

Xamarin Live PlayerではXamarin.Androidは動作しませんし、私の環境だけかもしれませんがXamarin.FormsでMainActivity.csのOnCreateを通ってくれない事象が発生したりといまいち使い勝手がよくありませんでした。ですがGoogle Playで見つけた「Android用のUSBドライバ」をインストールしたところ、PCが再びスマホを認識するようになりました。
PS.小鳥さん情報サンキュー!