0

我一直在按照这些说明https://developers.google.com/eclipse/docs/appeng_android_create_project设置一个应用引擎连接的 android 项目。

我有 gwt 2.4、android sdk 18、app engine plugin 1.6.6、eclipse indigo 和 windows 7。我还注册了一个 c2dm 帐户。我正在尝试在我的运行 android 4 的 Galaxy nexus 上运行该项目,因为我似乎无法将帐户添加到模拟器以“连接到云”。

当我单击“打个招呼”时,我最终会收到错误消息:

Failure: Connection to http://192.168.2.2:8888 refused

根据ipconfig,192.168.2.2实际上是我的ip地址。

我知道这个问题App Engine Connected Android : can't make sample project 正常工作但是他的错误显示连接到 127.0.1.1 失败,而我的显示我的实际 IP 地址。尽管如此,我已经尝试使用我的本地和公共 IP 地址来解决他的解决方案,但总是得到相同的错误,只是使用了不同的 IP 地址。

有人可以帮忙吗?

编辑:

在彼得指出我的 IP 地址问题后,我决定快速部署到应用程序引擎,看看它是否在那里工作。我成功部署,然后在我的手机上运行了 android 部分。单击强制关闭后,应用程序会说“正在连接...”很长时间,然后强制关闭。在 logcat 中,我收到错误消息:

06-01 18:05:14.678: E/AndroidRuntime(11328): FATAL EXCEPTION: main
06-01 18:05:14.678: E/AndroidRuntime(11328): java.lang.RuntimeException: Error receiving broadcast Intent { act=com.testprojectfourteen.UPDATE_UI flg=0x10 (has extras) } in com.testprojectfourteen.TestProjectFourteenActivity$1@41826430
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:737)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.os.Handler.handleCallback(Handler.java:605)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.os.Looper.loop(Looper.java:137)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.app.ActivityThread.main(ActivityThread.java:4340)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at java.lang.reflect.Method.invokeNative(Native Method)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at java.lang.reflect.Method.invoke(Method.java:511)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at dalvik.system.NativeStart.main(Native Method)
06-01 18:05:14.678: E/AndroidRuntime(11328): Caused by: java.lang.NullPointerException
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.app.PendingIntent.getActivity(PendingIntent.java:195)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at com.testprojectfourteen.Util.generateNotification(Util.java:119)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at com.testprojectfourteen.TestProjectFourteenActivity$1.onReceive(TestProjectFourteenActivity.java:82)
06-01 18:05:14.678: E/AndroidRuntime(11328):    at android.app.LoadedApk$ReceiverDispatcher$Args.run(LoadedApk.java:728)
06-01 18:05:14.678: E/AndroidRuntime(11328):    ... 9 more
4

1 回答 1

2

The 192.168.2.2 is a private IP address and is not visible on the internet. C2DM is a google-run public service which tries to connect to your private IP, but it can not reach it, hence the error.

The workaround is to find out the internet-visible IP of you router and set up port-forwarding on it (this is router dependent).

于 2012-06-01T20:26:15.493 回答