2014-09-28 26 views
5

Problem: Nie mogę zbudować mojego projektu. Kiedy próbuję następujący znak jest wyświetlany w konsoli:Eclipse, Android: nieoczekiwany Nie można wykonać dex: wiele plików dex definiuje

[2014-09-28 23:49:30 - Dex Loader] Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes; 
[2014-09-28 23:49:30 - Shop] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Landroid/support/annotation/AnimRes; 

straciłem godzin poszukiwania rozwiązania tego problemu, ale bez rezultatu .. Próbowałem czyścić projekt, aby usunąć folderu bin itd. ale nic nie działało ..

Proszę o pomoc, nie wiem co robić ..

+0

Wypróbuj wszystkie [rozwiązania wspomniane w tym pytaniu dotyczącym SO] (http://stackoverflow.com/questions/8059719/unable-to-execute-dex-multiple-dex-files-define) – ashoke

Odpowiedz

5

nie mogłem go naprawić więc skończyło się tworząc nowy projekt w innym obszarze roboczym i skopiowany cały kod do nowego projektu. To nie jest najmądrzejsza rzecz, ale co mogę zrobić?

1

Mam ten sam problem. Myślę, że stało się tak, ponieważ są modyfikacje zawartości folderu bin, gdy aktualizuję repozytorium projektu SVN z żółwiami. Usunąłem bin, a Eclipse wygeneruje nowy, ale problem nadal występuje. Ale rozwiązałem problem, usuwając bibliotekę zależności Androida. Oto kroki:

Wybierz Projekt -> Prawy przycisk myszy -> Wybierz ścieżkę konstrukcyjną -> Konfiguracja ścieżki budowy -> Na karcie Biblioteki usuń zależności Androida -> OK. Następnie wyczyść projekt i uruchom ponownie. :)

+0

czy możesz pokazać swój błąd log konsoli ..? –

+3

Przepraszamy, usunąłem swój komentarz. W moim przypadku problemem był android-support-v4. Mój projekt obsługuje zarówno Android-support-v4, jak i AppCompat. Usunąłem więc obsługę -4 i wyczyściłem. I błąd zniknął. :) – cmcromance

+0

thx cmcromance! usunąć support-v4 działa dla mnie;) –

0

Usuń bibliotekę, która zawiera android-support-v4.jar, a następnie dodaj android-support-v4.jar do buid path direct. Przy okazji, używam Eclipse dla IDE.

7

Usuń wsparcie dla android-adnotations.jar z folderu libs. Ponieważ te adnotacje są już zawarte w najnowszych wersjach pliku android-support-v4.jar.

+0

zrobiliście mój dzień –

2

Również straciłem kilka godzin w tym problemie, ale myślę, że znalazłem rozwiązanie, przynajmniej dla mojego. Studio Andoid powiedział mi, że miałem "Wiele plików dekodu definiują Landroid/support/adnotation/AnimRes;" ale powiedział również, że miał plik wywołania inputList.txt, który miał błąd. Znalazłem ten plik w drzewie katalogów i znalazłem w katalogu app/build/intermediates/tmp/dex/debug. Plik jest prostym plikiem tekstowym, który zawierał jeden wiersz dla każdej zależności, jako adnotacje pomocnicze lub androidplot-core z absolutną ścieżką.

Widziałem kilka powtarzających się wierszy i pomyślałem, że jeśli usunę, rozwiążę problem, ale to nie zadziałało.

Potem szukałem tej trasy i wszystkich JAR są w tym samym miejscu: APP/Build/półproduktów/pre-dexed/debug folderu/i widziałem powtórzone pliki .jar i usunąłem to, po poszedłem do pliku i usunąłem również powtarzające się wiersze.

Następnie uruchomiłem swój projekt i błąd zniknął, problem został rozwiązany.

Problem polegał na tym, że: .jar pliki powielone w tym folderze.

Easy!

0

Jako że na wyjściu konsoli było napisane "Wiele plików dex definiuje".

Pod tymi bin/dexedLibs znajduje się wiele słoików o tej samej nazwie, ale o innej wersji.

Rozwiązuję go, usuwając wszystkie zduplikowane słoiki obsługi v4 pod wszystkimi folderami lib i umieszczam główne odniesienie do projektu w jednym projekcie bibliotecznym, a następnie wyczyść projekt, aby go odbudować. Teraz działa jako urok.

Powiązane problemy