app引擎连接android项目无法正常工作

时间:2013-03-27 16:23:59

标签: android google-app-engine google-cloud-messaging google-eclipse-plugin

我已按照向导生成“app engine connected android project”并使用https://developers.google.com/eclipse/docs/endpoints-androidconnected-gae中的说明。

我对自动生成的内容进行的唯一补充是设置api密钥,设置进程号,将LOCAL_ANDROID_RUN设置为true。

Appengine dev服务器启动正常,并且应该在localhost:8888

Android应用程序可以很好地部署到模拟器(将google apis作为目标运行)。

但是当我点击注册时我得到了

  

“抱歉!应用程序VillageTest(进程com.villagetest)有   意外停了下来。请再试一次。'

带一个“强制关闭”按钮。

Logcat如下:

03-27 16:19:02.098: D/dalvikvm(422): GC_FOR_MALLOC freed 5074 objects / 389216 bytes in 75ms
03-27 16:19:02.288: V/GCMBaseIntentService(422): Releasing wakelock
03-27 16:19:02.288: W/dalvikvm(422): threadid=9: thread exiting with uncaught exception (group=0x4001d800)
03-27 16:19:02.298: E/AndroidRuntime(422): FATAL EXCEPTION: IntentService[GCMIntentService-405986951973-1]
03-27 16:19:02.298: E/AndroidRuntime(422): java.lang.NullPointerException
03-27 16:19:02.298: E/AndroidRuntime(422):  at com.villagetest.GCMIntentService.onRegistered(GCMIntentService.java:144)
03-27 16:19:02.298: E/AndroidRuntime(422):  at com.google.android.gcm.GCMBaseIntentService.handleRegistration(GCMBaseIntentService.java:251)
03-27 16:19:02.298: E/AndroidRuntime(422):  at com.google.android.gcm.GCMBaseIntentService.onHandleIntent(GCMBaseIntentService.java:153)
03-27 16:19:02.298: E/AndroidRuntime(422):  at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:59)
03-27 16:19:02.298: E/AndroidRuntime(422):  at android.os.Handler.dispatchMessage(Handler.java:99)
03-27 16:19:02.298: E/AndroidRuntime(422):  at android.os.Looper.loop(Looper.java:123)
03-27 16:19:02.298: E/AndroidRuntime(422):  at android.os.HandlerThread.run(HandlerThread.java:60)

请帮忙。这让我发疯了!

2 个答案:

答案 0 :(得分:0)

问题似乎出现在GCMIntentService的实现中(在GCMIntentService.java第144行)。我建议您在代码中发布或查看该行。

您是否遵循了在应用中实施GCM的说明:
http://developer.android.com/google/gcm/gs.html
最具体的是,第3步?

另外,请注意昨天有人发布了几乎完全相同的问题...
app engine(eclipse): can't register device from android emulator to endpoint

你似乎遇到了完全相同的问题,他现在已经发布了他的第144行。我将在那里跟进。

答案 1 :(得分:0)

这已在今天发布的最新版GPE(3.2.2)中修复。如果您以前从未使用端点注册过设备,则问题与缺少空检查有关。