Asa*_*afK 6 google-app-engine android google-cloud-endpoints
我一直在关注从Android项目创建端点后端的教程.一切都在编译,看起来很有希望.后端已启动,我将CloudEndpointUtils#LOCAL_ANDROID_RUN更改为"true".但是当我尝试在真实设备(而不是模拟器)上测试应用程序时,我失败了 -
java.net.SocketException:20000ms后无法连接到/10.0.2.2(端口8888):isConnected失败:EHOSTUNREACH(无主机路由)
所以我查看了CloudEndpointUtils并看到将LOCAL_ANDROID_RUN设置为'true'会使应用程序查找DevAppServer http://10.0.2.2:8888,这是模拟器虚拟路由器.但我不使用模拟器.所以我试图改变持有这个网址http://127.0.0.1:8888/但仍然没有运气的常量.我现在失败了 -
java.net.ConnectException:20000ms后无法连接到/127.0.0.1(端口8888):isConnected失败:ECONNREFUSED(连接被拒绝)
我以为可能是因为我的PC在防火墙后面,所以我禁用了它,但仍然没有.
任何建议将不胜感激.
kg.*_*kg. 12
如果要在Android Studio中执行此操作,请在build.gradle中按如下所示设置httpAddress
appengine {
...
httpAddress = "0.0.0.0"
}
Run Code Online (Sandbox Code Playgroud)
要做到这一点
2.(继续)转到Arugments - >完全像这样添加
--address = 0.0.0.0 --port = .......
*获取您的IP地址,转到cmd - > ipconfig - >在步骤1中添加(带端口号的IPV4地址)
重要提示:如果您从加密狗或某些动态IP互联网服务访问互联网,请每次更改此信息
谢谢......这完美无缺
这里有很多答案,但我发现它们凌乱或不完整.要在计算机上运行本地服务器并使用真实设备对其进行测试,请执行以下操作:
1)添加httpAddress = "0.0.0.0"到后端(Google Cloud Endpoint)模块文件中的appengine块build.gradle,如下所示:
appengine {
...
httpAddress = "0.0.0.0"
}
Run Code Online (Sandbox Code Playgroud)
根据对这个问题的评论,这意味着"将从任何地方接受".
2)在本地运行后端模块(即启动Web服务器).这很简单:在下拉菜单中选择后端配置,然后按绿色按钮.您可以在此处找到更详细的说明.
您现在应该能够打开浏览器(在您的计算机上)并导航到http://localhost:8080/并查看包含"Hello,Endpoints!"的网页.和许多其他的东西.
3)找到计算机的IP地址(在Mac上转到系统偏好设置 - >网络),然后将其设置为Android应用程序代码中的根URL,如下所示:
MyApi.Builder builder = new MyApi.Builder(
AndroidHttp.newCompatibleTransport(),
new AndroidJsonFactory(),
null
).setRootUrl("http://192.168.1.36:8080/_ah/api/")
Run Code Online (Sandbox Code Playgroud)
就这样!
添加
--address="0.0.0.0"
Run Code Online (Sandbox Code Playgroud)
作为接受所有传入连接的应用程序引擎服务器地址参数。
| 归档时间: |
|
| 查看次数: |
6321 次 |
| 最近记录: |