我一直在按照这些说明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上运行该项目,因为我似乎无法在模拟器中添加一个帐户以“连接到云”。
当我点击“Say Hello”时,我最终收到错误消息:
Failure: Connection to http://192.168.2.2:8888 refused
192.168.2.2实际上是我的ip地址,根据ipconfig。
我知道这个问题App Engine Connected Android : can't make sample project work properly但是他的错误显示无法连接到127.0.1.1而我的显示我的实际IP地址。尽管如此,我已尝试使用我的本地和公共IP地址解决方案,但总是得到相同的错误,只是使用不同的IP地址。
有人可以帮忙吗?
编辑:
在Peter指出我的ip地址问题后,我决定快速部署到app引擎,看看它是否在那里工作。我成功部署,然后在我的手机上运行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
答案 0 :(得分:2)
192.168.2.2
是private IP address,在互联网上不可见。 C2DM是一个谷歌运行的公共服务,它试图连接到您的私有IP,但它无法访问它,因此错误。
解决方法是找出路由器的internet-visible IP并在其上设置port-forwarding(这取决于路由器)。