✨
android studioのエミュレーターから、ホストPCに"localhost"でアクセスする
はじめに
この記事はcommmune Advent Calendar 2023、20日目の記事です
android studioのエミュレーターからホストPCに通信を行う際、「10.0.2.2を使う」記事は見つかったのですが「localhostという名前で通信する」があまり無さそうだったのでまとめてみました
前提
- android studio 2022.3.1 で確認
- adbコマンドが使えること(path通ってれば尚良し)
TL;DR
エミュレーター起動して、ホストPCのterminalで以下のコマンドを実行
adb reverse tcp:<デバイスのポート番号> tcp:<ホストのポート番号>
adb forwardとはポート番号の指定が逆になる様子です
結果
概要
全体のイメージ(多分こんな感じだと思います)
その他のあれこれ
-
Android Emuratorのネットワークアドレス空間にかかれている通り、
localhost
を使わなくて良いのであればポート転送設定の必要は無く、接続先に10.0.2.2
を使えばOKです。例えばhttp://10.0.2.2:8082
と言った具合
-
localhost
で通信したい場合、ポート転送設定がなければエミュレーターのlocalhostが127.0.0.1に解決され(宛先が当然エミュレーター自身を指すので)そのままではホストと通信できません。ダメ元でエミュレーターのhostsファイルを10.0.2.2 localhost
に書き換えてみましたが、やはり通信できませんでした - 転送したログなどがあれば確認 & 納得の上紹介したかったのですが、次回以降にしたいと思います
Discussion