AndroidエミュレータでlocalhostにHTTP接続

ローカルマシンでWEBサーバを起動し、それをiPhoneシミュレータやAndroidエミュレータから閲覧したい場合があります。

iPhoneシミュレータはlocalhostで接続可能

そこにiPhoneシミュレータから接続する場合、localhostに対して接続すると閲覧できます。

http://localhost/

スクリーンショット 2014-02-19 23.49.46
そういうわけで、ブラウザで閲覧しているのとほぼ同じ感覚で利用できます。

Androidエミュレータはlocalhostでは接続不可能

しかしながら、同じような感覚でAndroidエミュレータを使用しても、思い通りにはいきません。

http://localhost/

スクリーンショット 2014-02-19 23.47.38
この通り、接続ができません。
Androidエミュレータ内の/etc/hostsでも、localhostは127.0.0.1に向いていますが、試しにIPでアクセスをしてみます。

http://127.0.0.1/

スクリーンショット 2014-02-19 23.47.56
これもやはりダメです。

エミュレータからPCに接続するには、10.0.2.2に接続

調べたらすぐに出ました。
androidエミュレータからlocalhostへの接続
このブログによると、iPhoneシミュレータと違って、127.0.0.1はAndroidエミュレータ自身への接続になるということです。もしこれで接続できるとすれば「Android端末内でWEBサーバが実行されている場合」ということになるわけですね。

http://10.0.2.2/

スクリーンショット 2014-02-19 23.49.18
接続できました!

タイトルとURLをコピーしました