Intentando ejecutar Enhance en Android Studio
Estoy tratando de configurar jdo / jpa en Android Studio y havefollowed una respuesta de una pregunta anterior aquí .
Cuando intento ejecutar la tarea de mejora obtengo:
- ¿Qué servicios basados en la nube puedo usar para alojar el servidor XMPP requerido para conectarse a GCS CCS?
- Qué plataforma MBaaS utilizar para un proyecto específico: Parse o Google Cloud
- Adaptador de sincronización de Android con cuentas de usuario de Google Appengine
- En Google App Engine, ¿puedo relacionar un Token de Google OAuth 2 y un símbolo de SACSID que obtuve con el AccountManager de Android?
- Codificación de caracteres desordenada con Android + GAE Cloud Endpoints
Error:Execution failed for task ':backend:appengineEnhance'. An error occurred enhancing DataNucleus classes.
y el archivo de registro muestra:
java.lang.RuntimeException: Unexpected exception at com.google.appengine.tools.enhancer.Enhancer.execute(Enhancer.java:76) at com.google.appengine.tools.enhancer.Enhance.<init>(Enhance.java:71) at com.google.appengine.tools.enhancer.Enhance.main(Enhance.java:51) Caused by: java.lang.reflect.InvocationTargetException 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.enhancer.Enhancer.execute(Enhancer.java:74) ... 2 more Caused by: java.lang.NoSuchMethodError: org.datanucleus.plugin.PluginManager.<init>(Lorg/datanucleus/PersistenceConfiguration;Lorg/datanucleus/ClassLoaderResolver;)V at org.datanucleus.OMFContext.<init>(OMFContext.java:159) at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:172) at org.datanucleus.enhancer.DataNucleusEnhancer.<init>(DataNucleusEnhancer.java:150) at org.datanucleus.enhancer.DataNucleusEnhancer.main(DataNucleusEnhancer.java:1157) ... 7 more
Pensé que esto funcionó bien la semana pasada en mi escritorio, pero estoy tratando de replicar en mi portátil y nada parece estar funcionando (repositorio de bitbucket clonado). Aquí está mi gradle:
buildscript { repositories { mavenCentral() } dependencies { classpath 'com.google.appengine:gradle-appengine-plugin:1.9.1' } } repositories { mavenCentral(); } apply plugin: 'java' apply plugin: 'war' apply plugin: 'appengine' sourceCompatibility = 1.7 targetCompatibility = 1.7 dependencies { appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.1' compile 'com.google.appengine:appengine-endpoints:1.9.1' compile 'com.google.appengine:appengine-endpoints-deps:1.9.1' compile 'javax.servlet:servlet-api:2.5' // Persistence compile 'org.ow2.asm:asm:4.0' compile 'org.datanucleus:datanucleus-api-jpa:3.1.3' compile 'org.datanucleus:datanucleus-api-jdo:3.1.3' compile 'com.google.appengine.orm:datanucleus-appengine:2.1.2' compile 'org.datanucleus:datanucleus-core:3.1.3' compile 'org.apache.geronimo.specs:geronimo-jpa_2.0_spec:1.0' compile 'javax.jdo:jdo-api:3.0.1' compile 'javax.transaction:jta:1.1' } appengine { downloadSdk = true appcfg { oauth2 = true } endpoints { getClientLibsOnBuild = true getDiscoveryDocsOnBuild = true } }
- ¿Cómo se comunica un Android y un App Engine?
- Iniciar sesión automáticamente en la cuenta de Google en la vista web de Android
- "Proyecto Android de App Engine conectado" no disponible
- ¿Cómo puedo enviar desde el lado del servidor (Google App Engine, Cloud Endpoints) la información a mi cliente?
- Autenticación de su cliente en Puntos de extremo de Cloud sin una cuenta de Google
- Cómo traducir de un idioma a otro en Android
- Interacción de Android con Google App Engine Blobstore Service
- Cambiar la ubicación de una "Fábrica de procesador de anotaciones" para un proyecto de Android con App Engine
Per @ loosebazooka por encima de la respuesta es utilizar el potenciador v2 en el enlace en los comentarios anteriores.
También me enfrenté a este problema – las partes relevantes de mi build.gradle se muestran a continuación. Tenga en cuenta la adición del api = "jdo", sin el cual seguí recibiendo el mismo error que el OP.
apply plugin: 'java' apply plugin: 'war' apply plugin: 'appengine' war.dependsOn appengineEnhance dependencies { appengineSdk 'com.google.appengine:appengine-java-sdk:1.9.14' compile 'com.google.appengine:appengine-endpoints:1.9.14' compile 'com.google.appengine:appengine-endpoints-deps:1.9.14' compile 'com.google.appengine.orm:datanucleus-appengine:2.1.2' compile 'javax.servlet:servlet-api:2.5' compile 'com.ganyo:gcm-server:1.0.2' compile 'javax.jdo:jdo2-api:2.3-eb' compile 'org.datanucleus:datanucleus-api-jdo:3.1.3' } appengine { enhancer { version = "v2" api="jdo" enhanceOnBuild = true } }