Android Studio #5:仮想OS上での実機デバッグ

仮想OS上のAndroid Studioで実機デバッグを行いたい。

※ 前回記事:Android Studio #4:Hyper-Vを有効にしてもAVDは動作する?

環境

ゲスト/ホストOS:Windows 10 20H2 19042.928
仮想化:Hyper-V
Android Studio 4.1.3
タブレット:Huawei MediaPad M3

ホストOS側

ホストOSに "adb.exe" が必要、
とのことで Android Studioのインストールが必要みたい。

Android Studioをインストールすると、Android SDKのPlatform-toolsは
%LOCALAPPDATA% の Android\Sdk\platform-tools フォルダにインストールされる。
adb.exeはこのフォルダに存在する。

さて、ホスト側OSの準備は以下の通り。

1) Androidは開発者向けオプションを有効化し "USBデバッグ" をONにしておく。

2) AndroidをPCとUSB接続する。

3) ホストOS側でコマンドプロンプトを開き、以下コマンドを入力する。
これでAndroidが 5555番ポートでのTCP/IP接続を待機するようになる。
cd %localappdata%\android\sdk\platform-tools
adb tcpip 5555

実行したところ "error: no devices/emulators found" が発生した。
C:\Users\user>cd %localappdata%\android\sdk\platform-tools

C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb tcpip 5555
error: no devices/emulators found
このエラーを回避するには "adb devices" でデバイスIDを確認
C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb devices
List of devices attached
28D6R17320001211        device
emulator-5554   device
自分の環境では2行表示されたが、1行目の "28D6R17320001211" がAndroidタブレットで、
"emulator-5554" はAVDで起動したエミュレータのID

次にデバイスIDを指定してTCP/IPの接続コマンドを実行 "adb -s (デバイスID) tcpip 5555" を実行
C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb -s 28D6R17320001211 tcpip 5555

C:\Users\user\AppData\Local\Android\Sdk\platform-tools>
うまくいったのかな?
"adb devices" コマンドで確認
C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb devices
List of devices attached
28D6R17320001211        unauthorized
emulator-5554   device
Androidのステータスが "unauthorized" と表示されている。
認証されていない?

Androidの画面を見ると、以下のメッセージが表示されていた。
USBデバッグを許可
このパソコンのRSAキーのフィンガープリント:
xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx
[ ]このパソコンからのUSBデバッグを常に許可する

"このパソコンからのUSBデバッグを常に許可する" にチェックを付け [OK] をタップしておく。

もう一度 TCP/IP接続コマンドを実行
C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb -s 28D6R17320001211 tcpip 5555

C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb devices
List of devices attached
28D6R17320001211        device
emulator-5554   device
特に問題は無さそうか?

ゲストOS側

次に仮想OS(ゲストOS)の手順

1) まず AndroidのIPアドレスを調べておく
自分のAndroid(MediaPad M3)の場合は [設定] - [Wi-Fi] - [設定] で表示される。
IPアドレスは 192.168.1.5 だった。

2) コマンドプロンプトよりadb connect コマンドで Androidへ接続
CD %LOCALAPPDATA%\android\sdk\platform-tools
adb connect (Android IPアドレス)

実行したところエラーとなった。
C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb connect 192.168.1.5
failed to authenticate to 192.168.1.5:5555
Androidを確認すると、USBデバッグを許可画面が表示されていたので、
"このパソコンからのUSBデバッグを常に許可する" にチェックヲつけ[OK]をタップ
再度 adb connect コマンドを実行
C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb connect 192.168.1.5
already connected to 192.168.1.5:5555
Android側で許可したことで接続できていたようだ。

"adb devices" コマンドで確認
C:\Users\user\AppData\Local\Android\Sdk\platform-tools>adb devices
List of devices attached
192.168.1.5:5555        device
3) Android Studioでの実行
Android Studioのデバイス選択にAndroid実機 (自分の環境では "HUAWEI BTV-W09") が表示されるようになる。
これを選択し実行すれば Androidの画面に実行したアプリが表示される。


Android Studio

0 件のコメント:

その他の記事