android - 使用 Java 应用引擎的 GCM 服务器无法正常工作

标签 android google-app-engine google-cloud-messaging

所以我遵循了 GCM 演示应用程序教程。 http://developer.android.com/guide/google/gcm/demo.html

我让它与码头服务器一起工作。 但现在我想为 Java 服务器做应用引擎,但它不工作。 我确信我的客户端配置正常,因为它正在为码头服务器工作。

在 ApiKeyInitializer.java 中,我用我的访问 key 替换了“replace_this_text_by_your_Simple_API_Access_key”。

我将 appengine sdk 复制到一个简单的位置 D:\appenginesdk 比我在 cmd 中运行:

ant -Dsdk.dir=D:\appenginesdk runserver -Dserver.host=192.168.0.101

其中 192.168.0.101 是我的本地 ip。

D:\gmcserverapp>ant -Dsdk.dir=D:\appenginesdk runserver -Dserver.host=192.168.0.101
Buildfile: D:\gmcserverapp\build.xml

init:

copyjars:

compile:
[javac] Compiling 1 source file to D:\gmcserverapp\WebContent\WEB-INF\classes
[javac]
[javac]           WARNING
[javac]
[javac] The -source switch defaults to 1.7 in JDK 1.7.
[javac] If you specify -target 1.5 you now must also specify -source 1.5.
[javac] Ant will implicitly add -source 1.5 for you.  Please change your build file.
[javac] warning: [options] bootstrap class path not set in conjunction with-source 1.5
[javac] 1 warning
datanucleusenhance:
[enhance] DataNucleus Enhancer (version 1.1.4) : Enhancement of classes
[enhance] DataNucleus Enhancer completed with success for 0 classes. Timings :input=156 ms, enhance=0 ms, total=156 ms. Consult the log for full details
[enhance] DataNucleus Enhancer completed and no classes were enhanced. Consult the log for full details

runserver:
 [java] aug 21, 2012 1:17:55 PM com.google.apphosting.utils.jetty.JettyLogger info
 [java] INFO: Logging to JettyLogger(null) via com.google.apphosting.utils.jetty.JettyLogger
 [java] aug 21, 2012 1:17:55 PM com.google.apphosting.utils.config.AppEngineWebXmlReader readAppEngineWebXml
 [java] INFO: Successfully processed D:\gmcserverapp\WebContent\WEB-INF/appengine-web.xml
 [java] aug 21, 2012 1:17:55 PM com.google.apphosting.utils.config.AbstractConfigXmlReader readConfigXml
 [java] INFO: Successfully processed D:\gmcserverapp\WebContent\WEB-INF/web.xml
 [java] aug 21, 2012 3:17:57 PM com.google.appengine.tools.development.DevAppServerImpl start
 [java] INFO: The server is running at http://192.168.0.101:8080/
 [java] aug 21, 2012 3:17:57 PM com.google.appengine.tools.development.DevAppServerImpl start
 [java] INFO: The admin console is running at http://192.168.0.101:8080/_ah/admin

这是我在模拟器中得到的

emulator android 4.1 with google api

在浏览器中我没有注册任何设备。

我能做什么?

我做错了什么?

我做了很多教程,但没有任何效果,我变得绝望了。

编辑 2012-08-21 15:57:

感谢 Yahor10,解决了一些错误。 我现在收到此错误:

 [java] aug 21, 2012 1:52:40 PM com.google.appengine.tools.development.LocalResourceFileServlet doGet
 [java] WARNING: No file found for: //register

编辑 2012-08-21 16:18:

 //   String serverUrl = SERVER_URL + "/register";
 String serverUrl = SERVER_URL;

我为 Android 应用更改了 serverUtilities.java 中的 server_url。这使模拟器说它已连接。但是当我刷新 192.168.0.101:8080 它仍然没有设备......

最佳答案

在我发现我的 server_url 不正确之前,我在 GCM 演示中遇到了类似的困难。正如示例和教程所建议的那样,我已将其设置为“http://< my_ip_address>:8080/gcm-demo”。更重要的是,每当应用程序尝试联系服务器时,ant 都会给我一个日志,所以我认为 url 没有错误。

但我只是从 url 的末尾删除了“/gcm-demo”,它就像一个魅力。

希望这是/是让您头疼的问题。

-默德累斯顿

关于android - 使用 Java 应用引擎的 GCM 服务器无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12055989/

相关文章:

google-cloud-messaging - 一个信号 - 创建分段以推送到最近的位置

Android、Google Cloud Messaging - 推送到手机,但不会在设备上创建推送通知

android - java.lang.NoClassDefFoundError : GCMIntentService 错误

android - 在默认的 Android 播放器中播放 url 中的视频

java - Android - 从对话框调用非静态函数

java - 从 Google App Engine 发送电子邮件提醒

python - 如何在GAE模板中获取当前页面的url

java - 如何使用未索引字段过滤存储在 "Query"类型中的结果?

android - 带有 gettext 和 editText 的空指针

Android 主题不影响列表项内的 TextViews