针对本地开发服务器(Google Endpoints)在手机上调试android应用无法与路由器连接

针对本地开发服务器(Google Endpoints)在手机上调试android应用无法与路由器连接

问题描述:

我的手机(调试版本)和本地开发服务器上安装了安卓应用。该应用正在使用GAE端点。我已通过添加更新API生成器针对本地开发服务器(Google Endpoints)在手机上调试android应用无法与路由器连接

b.setRootUrl("http://[myIP]:8080/_ah/api"); 

但是,应用程序无法连接。我已验证开发服务器已启动并正在运行。

作为一个测试,我TPED

http://localhost:8080/ 

通过浏览器和我得到的API资源管理器等 但是,如果我这样做

http://[myIP]:8080/ 

我得到“此网页无法使用”。很明显,这必定是根本原因。 我得到我的IP地址的方式是在cmd中运行ipconfig

我试图关闭我的防火墙,但没有任何区别。

任何和所有的帮助非常感谢。谢谢。

想通了。

  1. 我有一个路由器,所以需要进入我的路由器设置并添加了“虚拟服务器”(该功能可称为否则你的路由器的东西)从我的路由器的IP地址(重定向你得到不算什么ipconfig)和一个端口(无论你想要什么,需要在setRootUrl中使用它),我的服务器地址(你从ipconfig获得什么)和本地开发服务器端口(通常为8080)

  2. 当我开始我在Android Studio中的服务器我需要指定地址0.0.0.0,可以通过编辑运行配置轻松地在Android Stuiod中完成(不要忘记在更改后重新启动它)

  3. 将b.setRootUrl更新为指向路由器IP地址1和您在1中选择的端口(不要忘记在更新之后重新运行您的应用,然后将其重新安装到您的手机上)

  4. 禁用防火墙 - 但这是不安全的,所以相反,我已经为此连接创建了一条特殊规则。 (在设置入站规则时,一个大问题是,通常有预定义的规则阻止来自Java SDK/JRE的所有连接,这些连接将优先于系统上的所有已安装版本,您需要修改这些:我不会建议禁用整个规则,但可以修改特定端口这样的端口:1- [您的服务器端口-1],[您的服务器端口+ 1,65535]

这四个作品的结合,对我来说。希望这可以帮助别人!