2012-06-29 9 views
19

Se actualizó el complemento ADT a la última versión (20) y la herramienta android-sdk. Ahora cuando trato de importar un Android Maven existente a Eclipse planteo la excepción An internal error occurred during: "Importing Maven projects". com/android/io/StreamException, y crea el proyecto eclipse pero no como el proyecto Android como antes. Los proyectos previos existentes (maven android) en el espacio de trabajo funcionan bien.Error al importar el proyecto Android Maven Android a Eclipse con ADT 20

El Eclipse traza completa excepción cuando la importación del proyecto es el siguiente:

!ENTRY org.eclipse.osgi 2 1 2012-06-29 19:02:34.421 
!MESSAGE NLS unused message: LifecycleMappingPropertyPage_this_message in: org.eclipse.m2e.core.ui.internal.messages 

!ENTRY org.eclipse.core.jobs 4 2 2012-06-29 19:03:03.953 
!MESSAGE An internal error occurred during: "Importing Maven projects". 
!STACK 0 
java.lang.NoClassDefFoundError: com/android/io/StreamException 
    at me.gladwell.eclipse.m2e.android.project.EclipseAndroidProjectFactory.createAndroidProject(EclipseAndroidProjectFactory.java:17) 
    at me.gladwell.eclipse.m2e.android.project.EclipseAndroidProjectFactory.createAndroidProject(EclipseAndroidProjectFactory.java:1) 
    at me.gladwell.eclipse.m2e.android.AndroidMavenProjectConfigurator.configure(AndroidMavenProjectConfigurator.java:62) 
    at org.eclipse.m2e.core.project.configurator.AbstractLifecycleMapping.configure(AbstractLifecycleMapping.java:109) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.updateProjectConfiguration(ProjectConfigurationManager.java:414) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.configureNewMavenProject(ProjectConfigurationManager.java:240) 
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.importProjects(ProjectConfigurationManager.java:156) 
    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizard$1.doCreateMavenProjects(MavenImportWizard.java:164) 
    at org.eclipse.m2e.core.ui.internal.wizards.AbstractCreateMavenProjectsOperation.run(AbstractCreateMavenProjectsOperation.java:73) 
    at org.eclipse.m2e.core.ui.internal.wizards.MavenImportWizard$3.runInWorkspace(MavenImportWizard.java:249) 
    at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38) 
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54) 
Caused by: java.lang.ClassNotFoundException: com.android.io.StreamException 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:513) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:429) 
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:417) 
    at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247) 
    ... 12 more 

Puede alguien lo resuelve? ¿Se necesita una actualización del conector Android m2e?

Actualización: Esta mi pom.xml:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>your.company</groupId> 
    <artifactId>my-android-application</artifactId> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>apk</packaging> 
    <name>my-android-application</name> 

    <dependencies> 
     <dependency> 
      <groupId>com.google.android</groupId> 
      <artifactId>android</artifactId> 
      <version>2.3.3</version> 
      <scope>provided</scope> 
     </dependency> 
    </dependencies> 
    <build> 
     <finalName>${project.artifactId}</finalName> 
     <sourceDirectory>src</sourceDirectory> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
        <artifactId>android-maven-plugin</artifactId> 
        <version>3.2.0</version> 
        <extensions>true</extensions> 
       </plugin> 
      </plugins> 
     </pluginManagement> 
     <plugins> 
      <plugin> 
       <groupId>com.jayway.maven.plugins.android.generation2</groupId> 
       <artifactId>android-maven-plugin</artifactId> 
       <configuration> 
        <sdk> 
         <!-- platform or api level (api level 4 = platform 1.6)--> 
         <platform>10</platform> 
        </sdk> 
       </configuration> 
      </plugin> 
     </plugins> 
    </build> 
</project></project> 

Gracias.

+3

Confirme que tengo el mismo error aquí. – yorkw

+0

Puedo confirmar 5 personas más con el mismo error en varios SO (Windows XP, Windows 7 y Mac OS) – sabadow

Respuesta

18

Este es un problema conocido con el M2e-androide plug-in causada por cambios en la API de ADT:

https://github.com/rgladwell/m2e-android/issues/89

Por favor, sea paciente mientras se encuentra una solución.


Actualización: Las nuevas correcciones 0.4.2 liberación este problema se publicó hoy, por favor ejecute una actualización de Eclipse (Ayuda -> Buscar actualizaciones) y quiero saber si esto resuelve sus problemas.

+0

¡muchas gracias! Estaba buscando si es un problema conocido, pero no pude encontrarlo. – sabadow

27

edición: En lugar de hacer esto, es posible que ahora será mejor de conseguir actualizado del proyecto de Ricardo de github, el cambio a la rama adt-20, edificio con Maven, desinstalar el conector M2E como se describe a continuación, e instalar el nuevo conector M2E desde me.gladwell.eclipse.m2e.android.update/target/repository como un repositorio local, también como se describe a continuación. Gracias, Ricardo!


Tuve este problema y no pude construir mi proyecto. La única forma en que lo solucioné fue degradando ADT a 18.0.0. No pude encontrar la manera de hacerlo a través del Administrador de SDK, etc., así que esto resultó ser un poco difícil, ¡aunque probablemente no lo hice de la manera más sensata! De todos modos, pensé en publicar lo que pasé en caso de que ayude a alguien. Dejé de lado los incontables reinicios de Eclipse. :)

Esto estaba en Eclipse 3.7 en Linux.

  • Obtener el ADT postal: http://dl.google.com/android/ADT-18.0.0.zip
  • obtener las herramientas del SDK de Android archivo para su sistema operativo: http://dl.google.com/android/android-sdk_r18-linux.tgz (sustituir con linux.tgz windows.zip o macosx.zip - lo siento, desbordamiento de pila permite solamente dos enlaces en ¡mi publicacion!).
  • Deshabilitar las actualizaciones automáticas de software: Ventana -> Preferencias -> Instalar/Actualizar -> Actualizaciones automáticas, desmarque 'Buscar nuevas actualizaciones automáticamente y notifíqueme'.
  • Desinstalar las herramientas de Android SDK: Ventana -> Administrador de Android SDK, compruebe las herramientas de Android SDK y haga clic en "Eliminar 1 paquete".
  • Desinstalar ADT: Ayuda -> Instalar nuevo software -> ¿Qué ya está instalado? -> Software instalado, seleccione todos los componentes de Android * y el Configurador de Android para M2E y haga clic en 'Desinstalar'.
  • Extraiga ADT-18.0.0.zip e instálelo: Ayuda -> Instalar nuevo software -> Agregar -> Local y vaya al lugar donde lo extrajo. Asigne un nombre al depósito local y haga clic en Aceptar, luego selecciónelo en el menú desplegable "Trabajar con" e instale el software disponible desde allí.
  • Extraiga el directorio de herramientas del archivo android-sdk_r18 en su directorio android-sdks.
  • Instalar el conector Android M2E: Preferencias -> Maven -> Descubrimiento, haga clic en 'Abrir catálogo' y luego seleccione el conector. Deseleccione cualquier característica de ADT 20.0 si se le solicita.
+0

¡Gracias por compartir esta útil respuesta! :) – sabadow

+0

¡Gracias! Funciona de maravilla, pero aún espera una corrección de complemento maven ahora. – Zzokk

+0

Gracias por esta guía, sin embargo, un solo problema: ¿cómo puedo instalar una versión anterior a la 0.4.1 del conector m2e de Android? Esto es necesario porque 0.4.1 requiere que se instale ADT 20.0. – futtetennista

4

Ahora el conector experto andriod se fija a las obras con ADT 20+, sólo tiene que instalar la actualización desde el siguiente sitio de actualización: http://rgladwell.github.com/m2e-android/updates/master/

+2

Probablemente esta no sea la respuesta aceptada a esta pregunta: no debe confiar en el sitio de actualización maestro/instantánea, esto no se ha probado y podría tener resultados impredecibles. –

3

Sólo tiene que abrir su archivo. XML y pestaña debajo del "Diseño gráfico" (en el caso de eclipse). Todavía hay allí el icono de Android que se encuentra en la parte superior derecha que detalla que la versión que se usa en mi caso usaba la versión 18, seleccioné la versión 17 y el error desapareció.

Cuestiones relacionadas