所以我已经关注了GCM演示应用教程。 http://developer.android.com/guide/google/gcm/demo.html
我使用了jetty服务器。 但现在我想为java服务器做app引擎,它不能正常工作。 我确信我的客户端配置为oke,因为它适用于jetty服务器。
在ApiKeyInitializer.java中,我用我的访问密钥替换了“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
这是我在模拟器中得到的
在浏览器中我没有注册任何设备。
我该怎么办?
我做错了什么?
我做了很多教程,没有任何工作,我变得绝望。
编辑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它仍然没有设备.....
答案 0 :(得分:1)
我在使用GCM演示时遇到了类似的困难,直到我发现我的server_url不正确。我把它设置为'http://< my_ip_address>:8080 / gcm-demo'作为示例和教程提示。最重要的是,每次应用程序试图联系服务器时,ant都会给我一个日志,所以我认为这个网址不正确。
但是我刚从网址的末尾取出了'/ gcm-demo',它就像一个魅力。
希望这是让你头痛的原因。
-Mrdresden
答案 1 :(得分:0)
在服务器build.xml中设置1.7 java代码
<target name="compile" depends="init" description="Compile the Java classes.">
<javac destdir="${classes}" debug="true" srcdir="${src}" target="1.7"
includeantruntime="false">
<classpath refid="compile.classpath"/>
</javac>
</target>
设置App引擎sdk和的正确目录位置 在客户端编写正确的计算机IP地址