Integración del almacén de datos de los motores de aplicaciones de Android studio – NoSuchMethodError
He creado un método y lo he expuesto utilizando los Endpoints de Google. Lo único que quiero es guardar y recuperar datos de Google DataStore .
Cuando intento probar usando el explorador de la API, consigo el error siguiente-
- ¿Tengo que usar CollectionResponse como un tipo de retorno en GAE Endpoints API o puedo usar colecciones java de entidades?
- Javax.persistence.PersistenceException en el motor de la aplicación de Google conectado al proyecto android
- ¿Qué es una "Aplicación Web"?
- Obtener de android a motor de aplicaciones de Google
- Respuesta de Google Cloud Messaging Server lenta (1 minuto)
Java.lang.NoSuchMethodError
He adjuntado el código a continuación
@ApiMethod (name ="mTest") public void mTest(@com.google.api.server.spi.config.Named("UName") String UName) throws IOException { DatastoreService datastoreService; datastoreService = DatastoreServiceFactory.getDatastoreService(); Transaction tx=datastoreService.beginTransaction(); try { Key userKey = KeyFactory.createKey("USERS_PK", UName); Entity userEntity=new Entity("M_USERS",userKey); userEntity.setProperty("TestColumn","TestColumnValue"); datastoreService.put(userEntity); tx.commit(); }finally { if (tx.isActive()){ tx.rollback(); } } }
El error se ha marcado en datastoreService.put (userEntity);
Encuentre el seguimiento de la pila a continuación:
Jun 29, 2014 5:12:20 PM com.google.api.server.spi.SystemService invokeServiceMethod INFO: cause={0} java.lang.NoSuchMethodError: com.google.appengine.api.datastore.Key.getAppIdNamespace()Lcom/google/appengine/api/datastore/AppIdNamespace; at com.google.appengine.api.datastore.KeyTranslator.convertToPb(KeyTranslator.java:49) at com.google.appengine.api.datastore.EntityTranslator.convertToPb(EntityTranslator.java:50) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl$4.toPb(AsyncDatastoreServiceImpl.java:203) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl$4.toPb(AsyncDatastoreServiceImpl.java:180) at com.google.appengine.api.datastore.Batcher$BatchIterator.<init>(Batcher.java:177) at com.google.appengine.api.datastore.Batcher$2.<init>(Batcher.java:312) at com.google.appengine.api.datastore.Batcher.getBatches(Batcher.java:312) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl.doBatchPut(AsyncDatastoreServiceImpl.java:536) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl.put(AsyncDatastoreServiceImpl.java:490) at com.google.appengine.api.datastore.DatastoreServiceImpl$2.runInternal(DatastoreServiceImpl.java:95) at com.google.appengine.api.datastore.DatastoreServiceImpl$2.runInternal(DatastoreServiceImpl.java:92) at com.google.appengine.api.datastore.TransactionRunner.runInTransaction(TransactionRunner.java:29) at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:92) at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:81) at GetMedSoonAppEngineProject.GMS_UserRegistrationEndpoint.mTest(GMS_UserRegistrationEndpoint.java:125) 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:606) at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115) at com.google.api.server.spi.SystemService.invokeServiceMethod(SystemService.java:359) at com.google.api.server.spi.SystemServiceServlet.execute(SystemServiceServlet.java:124) at com.google.api.server.spi.SystemServiceServlet.doPost(SystemServiceServlet.java:82) 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.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:127) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63) 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:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366) at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349) at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116) 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:98) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:491) 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:218) 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) Jun 29, 2014 5:12:20 PM com.google.api.server.spi.SystemService invokeServiceMethod SEVERE: com.google.appengine.api.datastore.Key.getAppIdNamespace()Lcom/google/appengine/api/datastore/AppIdNamespace; java.lang.NoSuchMethodError: com.google.appengine.api.datastore.Key.getAppIdNamespace()Lcom/google/appengine/api/datastore/AppIdNamespace; at com.google.appengine.api.datastore.KeyTranslator.convertToPb(KeyTranslator.java:49) at com.google.appengine.api.datastore.EntityTranslator.convertToPb(EntityTranslator.java:50) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl$4.toPb(AsyncDatastoreServiceImpl.java:203) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl$4.toPb(AsyncDatastoreServiceImpl.java:180) at com.google.appengine.api.datastore.Batcher$BatchIterator.<init>(Batcher.java:177) at com.google.appengine.api.datastore.Batcher$2.<init>(Batcher.java:312) at com.google.appengine.api.datastore.Batcher.getBatches(Batcher.java:312) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl.doBatchPut(AsyncDatastoreServiceImpl.java:536) at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl.put(AsyncDatastoreServiceImpl.java:490) at com.google.appengine.api.datastore.DatastoreServiceImpl$2.runInternal(DatastoreServiceImpl.java:95) at com.google.appengine.api.datastore.DatastoreServiceImpl$2.runInternal(DatastoreServiceImpl.java:92) at com.google.appengine.api.datastore.TransactionRunner.runInTransaction(TransactionRunner.java:29) at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:92) at com.google.appengine.api.datastore.DatastoreServiceImpl.put(DatastoreServiceImpl.java:81) at GetMedSoonAppEngineProject.GMS_UserRegistrationEndpoint.mTest(GMS_UserRegistrationEndpoint.java:125) 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:606) at com.google.appengine.tools.development.agent.runtime.Runtime.invoke(Runtime.java:115) at com.google.api.server.spi.SystemService.invokeServiceMethod(SystemService.java:359) at com.google.api.server.spi.SystemServiceServlet.execute(SystemServiceServlet.java:124) at com.google.api.server.spi.SystemServiceServlet.doPost(SystemServiceServlet.java:82) 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.api.socket.dev.DevSocketFilter.doFilter(DevSocketFilter.java:74) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.ResponseRewriterFilter.doFilter(ResponseRewriterFilter.java:127) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.HeaderVerificationFilter.doFilter(HeaderVerificationFilter.java:34) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.api.blobstore.dev.ServeBlobFilter.doFilter(ServeBlobFilter.java:63) 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:125) at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157) at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectRequest(DevAppServerModulesFilter.java:366) at com.google.appengine.tools.development.DevAppServerModulesFilter.doDirectModuleRequest(DevAppServerModulesFilter.java:349) at com.google.appengine.tools.development.DevAppServerModulesFilter.doFilter(DevAppServerModulesFilter.java:116) 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:98) at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152) at com.google.appengine.tools.development.JettyContainerService$ApiProxyHandler.handle(JettyContainerService.java:491) 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:218) 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)
Cualquier ayuda es apreciada! Estoy atrapado con esto durante un mes y no soy capaz de encontrar la solución.
IDE: Android Studio 0.61 SO: Windows 8
- Google App Engine - escala automática con siempre en instancia?
- Generar la biblioteca de cliente de punto final de nube de repente dejó de funcionar
- Cómo desarrollar el backend de Google App Engine con Android Studio
- Google Cloud Messaging para Android Library no se encuentra en el administrador de sdk
- Protección de los puntos finales de Google App Engine
- El inicio de Backend para móviles subscribeToCloudMessage no funcionará
- Gradlew appengineEndpointsInstallClientLibs tiene error La ejecución falló para la tarea ': compileJava'. > Versión de origen no válida: 1.7
- No se puede importar el punto final del motor de la aplicación en mi EndpointsAsyncClass en Android Studio
Cambie la versión de la biblioteca de Objectify en el archivo build.gradle de su backend a 4.0b a 5.0.3
Esto puede sonar irrelevante, pero objetivar la biblioteca 4.0b tiene las mismas clases con el mismo nombre de paquete que están presentes en sdk appengine como com.google.appengine.api.datastore.Key.
Cuando se implementa el backend de la aplicación, las clases de appengine son anuladas por las clases de objetificación y por lo tanto cuando se intenta llamar a algún método es lanzar error.
Esto se resuelve en objetivar 5.0. +
- Posible autocompletar una EditTextPreference?
- Diferencia registerForContextMenu y setOnCreateContextMenuListener?