💻
Android エミュレータから localhost に接続する
Android アプリから localhost に接続する
ローカル PC で開発しているサーバに対して、エミュレータ上の Android アプリから HTTP 接続をする。
localhost を向けるためのアドレスを設定する
http://10.0.2.2
を使う。
Network Address Description 10.0.2.2 Special alias to your host loopback interface (127.0.0.1 on your development machine)
アプリから HTTP 通信を許可する
Android 9.0 以降、非 SSL 通信がデフォルトで許可されなくなった。
localhost で開発する場合、https にするのはコストが高いので、http のまま通信がしたくなる。
アプリから特定の URL に対して非 SSL 通信が行えるように設定する。
-
res/xml/network_security_config.xml
を作成する。<network-security-config> <domain-config cleartextTrafficPermitted="true"> <domain includeSubdomains="true">10.0.2.2</domain> </domain-config> </network-security-config>
-
AndroidManifest.xml
に network_security_config を指定する。
https://developer.android.com/training/articles/security-config#manifest<application ... android:networkSecurityConfig="@xml/network_security_config"> ... </application>
Discussion