使用ADT 20将Maven Android Android项目导入到Eclipse时出错

我更新了ADT插件到最后一个版本(20)和android-sdk工具。 现在,当我尝试导入现有的Android Maven到Eclipse引发exceptionAn internal error occurred during: "Importing Maven projects". com/android/io/StreamExceptionAn internal error occurred during: "Importing Maven projects". com/android/io/StreamException An internal error occurred during: "Importing Maven projects". com/android/io/StreamException ,并创buildeclipse项目,但不像以前一样Android项目。 工作区中以前存在的(maven android)项目工作正常。

导入项目时,Eclipse完全exception跟踪如下:

 !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 

有人能解决吗? 需要更新m2e Android连接器吗?

更新:这是我的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> 

谢谢。

Solutions Collecting From Web of "使用ADT 20将Maven Android Android项目导入到Eclipse时出错"

这是由于ADT API中的更改导致的m2e-android插件的已知问题:

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

请耐心等待我们find解决办法。


更新:新的0.4.2版本修复了这个问题今天发布,请运行Eclipse更新(帮助 – >检查更新),让我知道这是否解决您的问题。

编辑:而不是做这个,现在可以更好地从github获取里卡多的更新项目,切换到adt-20分支,使用Maven构build,卸载M2E连接器(如下所述),以及从我这里安装新的M2E连接器。 .eclipse.m2e.android.update / target / repository作为本地存储库,也如下所述。 谢谢,里卡多!


我有这个问题,不能build立我的项目。 我得到的唯一方法是将ADT降至18.0.0。 我无法通过SDKpipe理器等find这样做的方式,所以这个结果有点痛苦 – 尽pipe我可能没有做到最明智的方式! 无论如何,我想我会发布我所经历的情况,以防万一。 我忽略了Eclipse的重新启动。 🙂

这是在Linux上的Eclipse 3.7。

  • 获取ADT压缩文件: http : //dl.google.com/android/ADT-18.0.0.zip
  • 获取适用于您的操作系统的Android SDK工具存档: http : //dl.google.com/android/android-sdk_r18-linux.tgz (用windows.zip或macosx.zipreplacelinux.tgz – 对不起,Stack Overflow只允许我两个链接在我的文章!)。
  • 禁用自动软件更新:窗口 – >首选项 – >安装/更新 – >自动更新,取消选中“自动查找新更新并通知我”。
  • 卸载Android SDK工具:窗口 – > Android SDKpipe理器,检查Android SDK工具,然后点击“删除1包”。
  • 卸载ADT:帮助 – >安装新软件 – >什么已经安装? – >安装软件,select所有的Android *组件和M2E的Androidconfiguration程序,然后点击“卸载”。
  • 解压缩ADT-18.0.0.zip并安装:帮助 – >安装新软件 – >添加 – >本地并浏览到解压缩的位置。 为本地存储库提供一个名称,然后单击确定,然后从“使用”下拉列表中select它并从中安装可用的软件。
  • 将android-sdk_r18压缩包中的tools目录解压缩到android-sdks目录下。
  • 安装Android M2E连接器:首选项 – > Maven – >发现,单击“打开目录”,然后select连接器。 如果提示,取消select任何ADT 20.0function。

现在,已经修复了与ADT 20+一起使用的andriod maven连接器,只需要安装以下更新站点的更新: http://rgladwell.github.com/m2e-android/updates/master/ : http://rgladwell.github.com/m2e-android/updates/master/

只要打开你的文件。 “graphics布局”下方的XML和标签(在eclipse中)。 你仍然在那里find位于右上angular的Android图标,详细说明在我的情况下使用的版本是使用版本18,我select版本17,错误消失。