Android Studioで実機が認識されないときの対処法

はじめてAndroid Studioを使ったのですが、実機が認識されないという問題が起きました。 いろいろ試した末に解決したので、対処法の記録を残します。



Introduction

スマホアプリってどうやって作るんだろう、と思ったのがきっかけでした。

パソコンでプログラムを組むことはあっても、それをどうやってスマホアプリとして動かすのかが見当もつかなかったのです。

少し調べてみると、一つのやり方としてAndroid Studioを使う、というのがありました。 Android Studioを使えば、スマホ実機で動作確認をとりながらアプリの開発ができるようです。

さっそく触ってみようとAndroid Studioをインストールし、スマホ実機とPCをつないでみましたが、ここで問題が起きました。 Android Studioが実機を認識してくれないのです(Fig. 1)。

f:id:BioErrorLog:20190518162917p:plain
Fig. 1 Android Studioでプログラム実行時に表示されたウィンドウ。実機が認識されない。

USBで実機をつないでいるにも関わらず、プログラム実行時に表示されるウィンドウには上の画像のように、

No USB devices or running emulators detected

Connected Devices
<none>

接続されたデバイスがありません、と表示されてしまいました。

うまくいく対処法がなかなか見つからず、ここでかなりの時間を消費してしまいました。

いろいろ試した末にようやく解決したので、備忘録を残します。


Material

PC側の環境:Windows10 / Android Studio 3.1.4 / JDK 8

スマホ側の環境: Android8.0 / Huawei Nova2


Results

「USB使用」を「写真を転送」または「ファイルを転送」に変える

USBを用いてスマホをPCに接続するときには、次の5つの接続方法があるようです。

「写真を転送」
「ファイルを転送」
「充電のみ」
「給電」
「MIDI」

この設定は、スマホ側から

設定 > デバイス接続 > USB

で確認することができます。

この設定が、デフォルトでは「充電のみ」となっていました。 これが実機が認識されない原因のひとつでした。

「写真を転送」はPTP(Photo Transfer Protocol)、「ファイルを転送」はMTP(Media Transfer Protocol)と呼ばれる接続形式で、実際にPCとデータのやり取りをするための接続方式なのでしょう。 このどちらかに設定することで、Android Studioが実機を認識するようになりました。

f:id:BioErrorLog:20190518180006p:plain
Fig. 2 「USB使用」を「写真へ転送」としたところ、実機が認識された


さて、私の場合は上記の設定変更が決定打となりましたが、これ以外にも前提として変更を行った箇所があります。 もしかすると必要でない操作があったのかもしれませんが、以下記録します。

「USBデバッグ」をONにする

スマホ側の設定で「USBデバッグ」をONにするのは、必要な作業です。

手順は、次のようになります。

  1. 設定 > システム > 端末情報 > ビルド番号を連続タップし「デベロッパーになりました」の表示が出る

  2. 設定 > システム > 開発者向けオプションから、「開発者向けオプション」をONにする

  3. 同じく開発者向けオプションから、「USBデバッグ」ONにする


注意したいのは、この「USBデバッグ」は、他の設定を変更した際にOFFに戻ることがあることです。 結局そのタイミング・原因はわかりませんでしたが、私は何かを変更したときはこの「USBデバッグ」がONになっていることを定期的に確認していました。


Android SDK Managerから該当Androidバージョンをインストールする

Android StudioのSDK Managerから、実機Android OSの該当バージョンをインストールしました。

SDK ManagerでサポートされているAndroid OSバージョンは、


Android Studioツールバー内「Tools」 > SDK Manager


から確認することができます。

自身のスマホAndroidバージョンの「Status」が「Not installed」である場合は、インストールする必要があります。 インストールするには、チェックボタンをチェックし、左のインストールボタンを押します。


「Google USB Driver」をインストールする

先ほどと同じくAndroid StudioのSDK Managerから、「Google USB Driver」をインストールしました。


Android Studioツールバー内「Tools」 > SDK Manager > SDK Toolsタブ


ここから、「Google USB Driver」の欄を確認します。 これもまた「Status」が「Not installed」である場合は、インストールする必要があります。 チェックボタンをチェック、インストールボタンを押すことで、インストールができました。


Discussion

今回は、Android Studioでプログラムの実行時に実機が認識されないときの対処法を書き残しました。

最終的に解決したはいいのですが、よく考えると自分がスマホの仕組みを全然知らないことに驚きました。

例えば、今回の私の場合、スマホとPCの接続方法の設定が肝となっていました。 USBを介した接続がどのような仕組みで行われているのか、どのような種類があるのか、私はまるで知りませんでした。

あるいはもっと言えば、スマホがハードウェアとしてどのような構造なのか、どう情報をやり取りしているのか、全然わかりません。

日常的に使っているのに全然中身を知らないというのは、なかなか面白いことです。

仕組みを調べてみるのも、面白いかもしれません。