An old dog learns code

Android模拟器访问本地web服务的url

March 29, 2018


不会自己搭mock server的前端不是好前端。
后台开发和前端开发不能完全实现同步,一直停下等后台是要出问题的。 于是基于json-server搭了一个 API 本地测试服务器,却遇到了一个莫名其妙但极其简单的问题,简单记录一下,避免以后二次踩坑。

TL;DR

Android 模拟器访问本地服务器,把 url 设置成10.0.2.2或者本机 IP 地址
Android 真机访问本地服务器,同一个局域网内,把 url 设置成本机 IP 地址

  1. 踩坑
    使用Android模拟器访问mock server的时候发现使用http://localhost:3000的默认配置怎么都取不到数据。 查了无数遍http包头、API 返回的response,一无所获。 过了老半天才恍然大悟,Android本来就是一个系统,自己也是有ip地址的,本机运行的时候应该设置成Android内置的地址http://10.0.2.2:3000
  2. 进阶试验
    然后想到了一个问题,Android模拟器和本机在同一个局域网内,那么url改成本机的 IP 地址,应该也是可以访问的。 测试果然可行,这个方法适合Android真机调试。