带有Android的Google App Engine - 在真实设备上测试端点

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)


use*_*187 7

要做到这一点

  1. 把LOCAL_APP_ENGINE_SERVER_URL_FOR_ANDROID =你的IP地址(这是在你的Android应用程序中)
  2. 右键单击App-Engine项目 - >运行 - >运行配置 - > Web应用程序(左栏​​) - >您的应用程序引擎项目.

2.(继续)转到Arugments - >完全像这样添加

--address = 0.0.0.0 --port = .......

*获取您的IP地址,转到cmd - > ipconfig - >在步骤1中添加(带端口号的IPV4地址)

重要提示:如果您从加密狗或某些动态IP互联网服务访问互联网,请每次更改此信息

谢谢......这完美无缺


Alb*_*lvo 5

这里有很多答案,但我发现它们凌乱或不完整.要在计算机上运行本地服务器并使用真实设备对其进行测试,请执行以下操作:

1)添加httpAddress = "0.0.0.0"到后端(Google Cloud Endpoint)模块文件中的appenginebuild.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)

就这样!


Fai*_*sal 0

添加

--address="0.0.0.0" 
Run Code Online (Sandbox Code Playgroud)

作为接受所有传入连接的应用程序引擎服务器地址参数。

  • 您能解释一下在哪里添加这个吗?“LOCAL_APP_ENGINE_SERVER_URL_FOR_ANDROID”的值应该是多少? (3认同)