App Engine的连接的Andr​​oid项目C2DM连接错误 [英] App Engine Connected Android project C2DM connection error

查看:201
本文介绍了App Engine的连接的Andr​​oid项目C2DM连接错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我目前正在做一个Android应用程序与谷歌App Engine的通信。安装谷歌应用程序引擎的插件后,我只是想看看是否C2DM连接工作在模拟器上开始任何事情之前,但是当我测试模拟器上的连接,它只是不与服务器连接。我需要改变任何东西,以便为它工作?我试图改变应用程序使用的IP地址,但仍然没有结果。每次我试图连接我收到此错误信息:

  2012年1月31日下午8时51分31秒com.google.web.bindery.requestfactory.server.RequestFactoryServlet的doPost
重度:意外的错误
com.google.web.bindery.requestfactory.server.UnexpectedException:意外checked异常
    在com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.die(ServiceLayerDecorator.java:216)
    在com.google.web.bindery.requestfactory.server.ServiceLayerCache.getOrCache(ServiceLayerCache.java:242)
    在com.google.web.bindery.requestfactory.server.ServiceLayerCache.resolveDomainMethod(ServiceLayerCache.java:176)
    在com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.processInvocationMessages(SimpleRequestProcessor.java:440)
    在com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:225)
    在com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:127)
    在com.google.web.bindery.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java:133)
    在javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    在javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    在org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1166)
    在com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
    在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
    在com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60)
    在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
    在com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
    在com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
    在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
    在com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
    在org.mortbay.jetty.servlet.ServletHandler $ CachedChain.doFilter(ServletHandler.java:1157)
    在org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    在org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    在org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    在org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    在org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    在com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78)
    在org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    在com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:362)
    在org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    在org.mortbay.jetty.Server.handle(Server.java:326)
    在org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    在org.mortbay.jetty.HttpConnection $ RequestHandler.content(HttpConnection.java:938)
    在org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
    在org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    在org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    在org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    在org.mortbay.thread.QueuedThreadPool $ PoolThread.run(QueuedThreadPool.java:582)
java.lang.VerifyError:引起期望在法com.instant.server.HelloWorldService.getMessage()Ljava /朗/字符串在分支目标41 stackmap框架;偏移12
    在java.lang.Class.getDeclaredMethods0(本机方法)
    在java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
    在java.lang.Class.getMethod0(Class.java:2685)
    在java.lang.Class.getMethod(Class.java:1620)
    在com.google.web.bindery.requestfactory.server.ResolverServiceLayer.resolveDomainMethod(ResolverServiceLayer.java:138)
    在com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveDomainMethod(ServiceLayerDecorator.java:152)
    在com.google.web.bindery.requestfactory.server.FindServiceLayer.resolveDomainMethod(FindServiceLayer.java:46)
    在com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveDomainMethod(ServiceLayerDecorator.java:152)
    在com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveDomainMethod(ServiceLayerDecorator.java:152)
    在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)
    在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    在java.lang.reflect.Method.invoke(Method.java:601)
    在com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:104)
    在com.google.web.bindery.requestfactory.server.ServiceLayerCache.getOrCache(ServiceLayerCache.java:233)
    ... 36更多


解决方案

您最有可能添加以下默认JVM参数

  -XX:-UseSplitVerifier

在Eclipse中:

 窗口 - > preferences  - >已安装的JRE  - >然后添加默认参数

来源:此处 和的这里

I am currently trying to make an Android App that communicates with Google App Engine. After installing the plugin for Google App Engine, I was just trying to see if the C2DM connection works on the emulator before starting anything, but when I test the connection on the emulator, it just does not connect with the server. Do I need to change anything else in order for it to work? I tried changing the IP address that the application was using, but still with no result. Every time I try to connect I get this error message:

Jan 31, 2012 8:51:31 PM com.google.web.bindery.requestfactory.server.RequestFactoryServlet doPost
SEVERE: Unexpected error
com.google.web.bindery.requestfactory.server.UnexpectedException: Unexpected checked exception
    at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.die(ServiceLayerDecorator.java:216)
    at com.google.web.bindery.requestfactory.server.ServiceLayerCache.getOrCache(ServiceLayerCache.java:242)
    at com.google.web.bindery.requestfactory.server.ServiceLayerCache.resolveDomainMethod(ServiceLayerCache.java:176)
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.processInvocationMessages(SimpleRequestProcessor.java:440)
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:225)
    at com.google.web.bindery.requestfactory.server.SimpleRequestProcessor.process(SimpleRequestProcessor.java:127)
    at com.google.web.bindery.requestfactory.server.RequestFactoryServlet.doPost(RequestFactoryServlet.java:133)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
    at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:35)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:60)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.apphosting.utils.servlet.TransactionCleanupFilter.doFilter(TransactionCleanupFilter.java:43)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.StaticFileFilter.doFilter(StaticFileFilter.java:122)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at com.google.appengine.tools.development.BackendServersFilter.doFilter(BackendServersFilter.java:97)
    at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
    at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
    at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
    at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
    at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
    at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
    at com.google.appengine.tools.development.DevAppEngineWebAppContext.handle(DevAppEngineWebAppContext.java:78)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:362)
    at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:326)
    at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
    at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:938)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:755)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
    at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.VerifyError: Expecting a stackmap frame at branch target 41 in method com.instant.server.HelloWorldService.getMessage()Ljava/lang/String; at offset 12
    at java.lang.Class.getDeclaredMethods0(Native Method)
    at java.lang.Class.privateGetDeclaredMethods(Class.java:2442)
    at java.lang.Class.getMethod0(Class.java:2685)
    at java.lang.Class.getMethod(Class.java:1620)
    at com.google.web.bindery.requestfactory.server.ResolverServiceLayer.resolveDomainMethod(ResolverServiceLayer.java:138)
    at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveDomainMethod(ServiceLayerDecorator.java:152)
    at com.google.web.bindery.requestfactory.server.FindServiceLayer.resolveDomainMethod(FindServiceLayer.java:46)
    at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveDomainMethod(ServiceLayerDecorator.java:152)
    at com.google.web.bindery.requestfactory.server.ServiceLayerDecorator.resolveDomainMethod(ServiceLayerDecorator.java:152)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:601)
    at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:104)
    at com.google.web.bindery.requestfactory.server.ServiceLayerCache.getOrCache(ServiceLayerCache.java:233)
    ... 36 more

解决方案

You most likely have to add the following default JVM argument

-XX:-UseSplitVerifier

In Eclipse:

Window -> Preferences -> Installed JREs -> then add the default parameter

Sources: here and here.

这篇关于App Engine的连接的Andr​​oid项目C2DM连接错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆