Подтвердить что ты не робот

Ошибка импорта проекта Maven Android Android в Eclipse с помощью ADT 20

Я обновил плагин ADT до последней версии (20) и инструмента android-sdk. Теперь, когда я пытаюсь импортировать существующий Android Maven в Eclipse, создайте исключение An internal error occurred during: "Importing Maven projects". com/android/io/StreamException и создайте проект eclipse, но не как Android-проект, как и раньше. Предыдущие существующие (maven android) проекты в рабочей области прекрасно работают.

Полная трассировка исключения Eclipse при импорте проекта следующая:

!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>

Спасибо.

4b9b3361

Ответ 1

Это известная проблема с подключаемым модулем m2e-android из-за изменений в API ADT:

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

Будьте терпеливы, пока мы находим исправление.


Обновление: Новый выпуск версии 0.4.2 устраняет эту проблему, выпущенную сегодня, запустите обновление Eclipse (Справка → Проверить наличие обновлений) и сообщите мне, разрешает ли это проблемы. p >

Ответ 2

изменить: Вместо этого вам может быть лучше получить обновленный проект Ricardo от github, переключившись на adt-20, построив Maven, удалив соединитель M2E, как описано ниже, и установив новый соединитель M2E из me.gladwell.eclipse.m2e.android.update/target/repository в качестве локального репозитория, также как описано ниже. Спасибо, Рикардо!


У меня была эта проблема, и я не мог построить свой проект. Единственный способ, которым я обошел это, - понизить ADT до 18.0.0. Я не мог найти способ сделать это через SDK Manager и т.д., Так что это оказалось немного тяжелым испытанием - хотя я, вероятно, не делал этого самым разумным способом! Во всяком случае, я думал, что опубликую, что я пережил, если это кому-то поможет. Я забыл перезапустить Eclipse.:)

Это было на Eclipse 3.7 на Linux.

  • Получить ADT zip: http://dl.google.com/android/ADT-18.0.0.zip
  • Получите архив Android SDK Tools для вашей ОС: http://dl.google.com/android/android-sdk_r18-linux.tgz (замените linux.tgz на windows.zip или macosx.zip - извините, Qaru только позволяет мне две ссылки в моем посте!).
  • Отключить автоматическое обновление программного обеспечения: Окно → Настройки → Установить/Обновить → Автоматические обновления, снимите флажок "Автоматически находить новые обновления и уведомлять меня".
  • Удалите Android SDK Tools: Окно → Android SDK Manager, проверьте Android SDK Tools и нажмите "Удалить 1 пакет".
  • Удалить ADT: Справка → Установить новое программное обеспечение → Что уже установлено? → Установленное программное обеспечение, выберите все компоненты Android * и Android Configurator для M2E и нажмите "Удалить".
  • Извлеките ADT-18.0.0.zip и установите: Справка → Установить новое программное обеспечение → Добавить → Локальное и просмотреть, где вы его извлекли. Дайте локальному репозиторию имя и нажмите "ОК", затем выберите его из раскрывающегося списка "Работа с" и установите из него доступное программное обеспечение.
  • Извлеките каталог инструментов из архива android-sdk_r18 в каталог android-sdks.
  • Установите разъем Android M2E: Настройки → Maven → Открытие, нажмите "Открыть каталог", затем выберите соединитель. Отмените выбор любых функций ADT 20.0, если будет предложено.

Ответ 3

Теперь соединитель andriod maven, который он исправил для работы с ADT 20+, должен установить обновление только со следующего сайта обновления: http://rgladwell.github.com/m2e-android/updates/master/

Ответ 4

Просто откройте свой файл. XML и вкладку ниже "Графический макет" (в случае eclipse). Вы все еще находите значок Android, который находится в верхнем правом углу, в котором подробно описывается версия, которая используется в моем случае, использовалась версия 18, я выбрал версию 17, и ошибка исчезла.