2013-03-24 2 views
1

У меня есть проект Android с Robolectric.Невозможно выполнить dex: Несколько файлов dex определяют Lorg/apache/maven/artifact/Artifact

Мои классы, связанные с приложением, находятся в src/main/java и проверяют связанные классы в src/test/java.

У меня есть эти испытания зависимостей в моей pom.xml

 <dependency> 
      <groupId>org.robolectric</groupId> 
      <artifactId>robolectric</artifactId> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <scope>test</scope> 
     </dependency> 

При создании и развертывании из консоли с mvn package android:deploy все в порядке. Проблема возникает при запуске проекта из Eclipse (Juno).

[2013-03-24 12:27:26 - Dex Loader] Unable to execute dex: Multiple dex files define Lorg/apache/maven/artifact/Artifact; 
[2013-03-24 12:27:26 - my-app] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lorg/apache/maven/artifact/Artifact; 

Похоже, что включены только зависимости, которые требуются только для Robolectric. Что я делаю не так?

ответ

2

После некоторого расследования усматривать m2e -андроид issue

5

в мусорной папке/dexedlibs у вас есть дубликат баночка

  1. удалить это
  2. сделать чистое от preject
  3. повторных попыток
+0

Это не так. bin/dexedLibs содержит ВСЕ зависимости. Даже те, которые необходимы для тестирования. Например, maven-project, maven-profile, wagon-файл и так далее. Как удержать их оттуда? –

+0

в Eclipse, работает для меня! благодаря! – Pierry

1

Я однажды столкнулся с той же ошибкой. В конце я обнаружил, что это вызвано тем, что дважды включил банку MoPubView:

- On the one hand, I imported the MoPubView project via Eclipse Menu function "File | Import"; 

-> then right click my project, select "Properties"; 
-> In the left bar, select "android"; 
-> In the "Library" section at the right, press [Add] button... 

- On the other hand, I copied the mopub-sdk.jar to the /libs folder of my project. 

Я удалил последний. Он решен.

Смежные вопросы