[Rails 4.2][Android] Android emulatorから Rails サーバーにアクセスするには


前提

自戒の意味を込めてのメモです。

Android初心者です。
Rails初心者です。

Volleyを使ってlocalhost:3000にアクセスしようとしました。

問題1

java.net.ConnectExceptionが出てアクセス出来ません。

対応1

localhostはAndroidEmulatorが使っているので、外部にアクセスするには↓を使います。

http://10.0.2.2

問題2

でもまだアクセスできません。
理由は、Rails 4.2からサーバーの IP アドレスがlocalhostになり、外部からアクセスできなくなったようです。

...いつの間に。完全に見落としていました。。。。

対応2

rails s の際にipアドレスを指定します。

$ rails s -b 0.0.0.0

Rack自体に変更があった様です。
こちらもチェックしなくてはいけないですね。
https://github.com/rack/rack/commit/28b014484a8ac0bbb388e7eaeeef159598ec64fc