Wiem, że to pytanie zostało tu zadane kilka razy. Ale nie widziałem jeszcze żadnego możliwego rozwiązania. Zanim wykonam projekt „Uruchom jako aplikację na Androida”, jeśli go nie wyczyszczę, pojawi się następujący błąd i muszę ponownie uruchomić Eclipse ... i wyczyścić ponownie.
Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define
Lcom/jstun/core/attribute/MessageAttributeInterface;
com.jstun.core ... jest częścią mojego folderu src, oczywiście nie mogę go usunąć. Nawet jeśli usunę ten pakiet, inny pakiet pojawi się jako błąd, taki jak:
Unable to execute dex: Multiple dex files define
Landroid/support/v4/app/ActivityCompatHoneycomb;
Widziałem ten błąd od czasu aktualizacji do ADT 15, używam Eclipse Galileo na Ubuntu. Masz jakiś pomysł? Dzięki za każdą odpowiedź!
Odpowiedzi:
To jest problem ze ścieżką kompilacji.
Upewnij się, że folder bin nie jest uwzględniony w ścieżce kompilacji.
Kliknij prawym przyciskiem myszy swój projekt -> przejdź do właściwości -> Buduj ścieżkę.
Upewnij się, że biblioteka Honeycomb znajduje się w Twoim
libs/
folderze, a nie w folderze źródłowym.Dołącz biblioteki
libs/
indywidualnie w ścieżce kompilacji.Przy okazji, możesz chcieć przynieść
android-support-v4
bibliotekę, aby uzyskać obsługę Ice Cream Sandwich zamiast biblioteki obsługi Honeycomb.źródło
libs
ścieżki, wyczyszczenie i zapisanie projektu, ponowne uruchomienie Eclipse i ponowna kompilacja działa dla mnie.Foo.java
w paczce iFoo.java
słoiku wlibs/
Dzisiaj napotkałem podobny błąd, a powodem było to, że do biblioteki pomocy technicznej odwoływały się dwa projekty biblioteki używane przez mój projekt aplikacji, ale z różnymi wersjami.
Bardziej szczegółowo: Moja aplikacja opiera się na 2 projektach bibliotecznych
Aby rozwiązać problem musiałem uzależnić bibliotekę FaceBookSDK od biblioteki ABS zamiast bezpośrednio od biblioteki wsparcia.
źródło
android-support-v4.jar
do obu ścieżek kompilacji Eclipse i dodałem ją ręcznie do utworzonegolibs
folderu. Z powodu zduplikowanych odniesień nie mogłem skompilować (i otrzymałem komunikat o błędzie, który otrzymał OP). Usunąłemlibs
folder, który głupio stworzyłem i wszystko działało. Dzięki za podpowiedź.Cóż, dla mnie usunąłem plik w folderze libs o nazwie android support v4.jar i wszystko się udało. Powodzenia :)
źródło
Miałem ten sam błąd i za każdym razem, gdy go naprawiałem, powracał po ponownym uruchomieniu Eclipse.
Przede wszystkim, jak powiedzieli inni, upewnij się, że nie masz wielu kopii tego samego pliku .jar wokół swoich projektów.
W moim przypadku miałem główny projekt, który wykorzystywał ActionBarSherlock (między innymi projekty biblioteczne). Sztuczka, która zadziałała w moim przypadku, polegała na przejściu
ActionBarSherlock --> Properties --> Java Build path --> Order of Export
i cofnięciu wyboruAndroid Private Libraries
. Następnie przechodząc doProject -> Clean
i teraz powinieneś być w stanie poprawnie zbudować projekt.Teraz, z jakiegoś powodu, za każdym razem, gdy ponownie uruchamiam Eclipse, automatycznie włącza to pole wyboru, więc muszę powtórzyć ten proces ponownie.
Mam nadzieję, że pomoże to zagubionej duszy :)
źródło
Przejdź do Project / properties i Java Built Path i odznacz prywatne biblioteki Androida
źródło
Dla mnie wystarczy przejść do opcji Project Properties >> Java Build Path >> Order and Export. Odznacz wszystkie biblioteki zewnętrzne, jak na poniższym obrazku. To działa dla mnie. Mam nadzieję, że to pomoże.
źródło
Z tym problemem również spotkałem się w swoim projekcie. AVD nie jest w stanie ponownie załadować kontekstów folderów zasobów, lib, res itp. problem: Dex Loader] Nie można wykonać dex: zdefiniowano wiele plików dex
Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl
.Potem stworzyliśmy nowe projekty i kopiowane
MainActivity.java
,activity_main.xml
, rozciągliwej kontekst. Następnie usuń stary projekt z eksploracji pakietów, zrestartuj Eclipse i AVD. Mój projekt teraz działa prawidłowo .... :) Mam nadzieję, że te kroki pomogą wam trochę ludziom .. !!źródło
Mam ten sam problem, próbowałem:
U mnie to działa, dzięki.
źródło
Jeśli ktoś z was napotyka ten problem z wtyczką facebook-connent-plugin do phonegap
spróbuj usunąć pliki w katalogu bin / class / com / facebook / android! -> i odbuduj
źródło
Jak wspominali inni, dzieje się tak, gdy masz wiele kopii tej samej klasy na ścieżce kompilacji lub w innym miejscu konfiguracji.
Dodałem android-support-v4.jar do mojego folderu libs / i w jakiś sposób eclipse dodałem drugą kopię do bin / classes / android-support-v4.jar.
Możesz to sprawdzić za pomocą
Usunięcie dodatkowej kopii w bin / classes rozwiązało problem - nie wiem, dlaczego Eclipse utworzył tam kopię.
źródło
Mam ten błąd z innego powodu. Myliłem się dodając zarówno bibliotekę obsługującą v4, jak i v13. Nie było to dla mnie konieczne, ponieważ moja minSdkVersion to 15.
Naprawiłem to, włączając tylko bibliotekę obsługującą v13. Upewnij się również, że zaznaczyłeś bibliotekę w ścieżce budowania wyeksportowanej biblioteki w eclipse. Przeniosłem go również na górę.
źródło
Nawet po przejściu wielu odpowiedzi żadne rozwiązanie nie zadziałało.
Usunąłem „Zależności systemu Android” ze ścieżki kompilacji. Dodano ponownie wszystkie pliki jar do ścieżki kompilacji i błąd zniknął. W jakiś sposób zaćmienie zdawało się gromadzić rzeczy.
źródło
Zostawiam tę odpowiedź komuś, kto wpada w ten scenariusz tak, jak ja.
Potknąłem się tu i tam, zanim zauważyłem, że omyłkowo przeciągnąłem i upuściłem plik JAR biblioteki wsparcia do mojego folderu src i tam leżał. Ponieważ nie miałem pojęcia, jak to się stało lub kiedy to tam upuściłem, nigdy nie mogłem sobie wyobrazić, że coś jest nie tak.
Otrzymałem ten sam błąd, po jakimś czasie znalazłem problem i usunąłem go. Projekt działa teraz dobrze.
źródło
Rozwiązaniem dla mnie było po prostu wykonanie następujących czynności:
źródło
Mój problem na początku był taki:
1) Klikam prawym przyciskiem myszy na mój projekt -> Narzędzia Android -> Dodaj bibliotekę wsparcia (Uruchom moją aplikację ... Nie działa, więc kontynuuję ...) 2) Ponownie kliknij prawym przyciskiem myszy na mój projekt -> Właściwości -> Android -> Sprawdź Androida 4.1.2 (16) w Project Build Target (Uruchom aplikację ponownie ... i pobierz to:
3) Więc poszedłem do folderu „lib” w moim projekcie i usuwać the „stary” Android.support.library.jar (uruchom aplikację i Krzyż palców i ...)
TO DZIAŁA!
Mam nadzieję, że to komuś pomoże ... Dzięki ludziom!
źródło
Miałem ten problem i nie oznacza to, że ta sama biblioteka jest ładowana wiele razy, ale System próbuje załadować klasę o tej samej nazwie i prawdopodobnie tej samej nazwie pakietu jednocześnie, tj.
com.pack1.de
iClass Geometry
zlibrary1.jar
i kolejny
com.pack1.de
iClass Geometry
zlibrary2.jar.
Jak powinieneś podejść? Powinieneś przeanalizować, które metody są używane, metodę library1.jar lub library2.
Istnieją 2 rozwiązania,
Mam nadzieję, że to wyjaśniło często zadawane pytanie.
źródło
Usunąłem zależności Androida ze ścieżki kompilacji i zadziałało.
źródło
Ten błąd wystąpił, gdy w projekcie mojej aplikacji odwołałem się do projektu biblioteki w moim obszarze roboczym Eclipse (w moim przypadku zestawu SDK Facebooka) i jednocześnie umieściłem pakiet SDK Facebooka jako jar w folderze libs. Usunięcie odwołania do biblioteki, ale pozostawienie pliku jar w folderze libs spowodowało usunięcie błędu.
źródło
Miałem ten sam problem. Musiałem usunąć
.apk
plik, a potem zadziałało.źródło
Dla mnie usunąłem android-support-v4.jar z folderu lib, a także usunąłem go ze ścieżki kompilacji.
źródło
build Path>configuration build path
support-v4 library
i kliknij usuńa potem wyczyść swój projekt i uruchom to zadziała :-)
źródło
Na wypadek, gdyby ktoś inny uderzył głową w tę sprawę, tak jak ja:
Mój przypadek dotyczył łańcucha projektów bibliotecznych. Po prostu wyczyszczenie projektu we wszystkich bibliotekach naprawiło wszystko
źródło
Znalazłem poniżej rozwiązanie w eclipse ... mam nadzieję, że zadziała u Ciebie :)
źródło
Ten problem występuje, gdy ta sama biblioteka jest dodawana do projektu wiele razy. Jeśli celowo nie dodałeś biblioteki wiele razy, sprawdź zależności / biblioteki prywatne bibliotek, które dodałeś w swoim projekcie, najprawdopodobniej już zawierały bibliotekę, która powoduje ten konflikt.
źródło
Walczyłem też, aby stwierdzić, że jest to problem. W moim przypadku stało się to podczas kopiowania apk do e-maila (przeciągnij i upuść) - przez pomyłkę apk został wklejony do folderu src w jednym z pakietów. Po usunięciu apk z folderu źródłowego działało dobrze.
źródło
Miałem ten problem w Intellij i to dlatego, że biblioteka ActionBarSherlock, którą dodałem do mojego projektu, definiowała android-support-v4.jar jako zależność kompilacji, a ten jar był już zawarty w moim projekcie, więc było wiele kopii / wersji DEX w czas kompilacji.
Rozwiązaniem była zmiana zależności modułu ActionBarSherlock, aby ten jar był Runtime zamiast kompilacji, ponieważ mój projekt już go dostarczał.
źródło
Dla mnie problem polegał na tym, że wcześniej dodałem projekt lib (autobahn lib), a później przełączyłem się na plik Jar tej samej biblioteki. Chociaż usunąłem odniesienia do starszego projektu biblioteki, otrzymałem ten błąd. Podążając za wszystkimi odpowiedziami tutaj, sprawdziłem ścieżkę kompilacji itp. Ale nie dodałem tych bibliotek do ręcznej kompilacji ścieżki. Więc nie miałem nic do usunięcia. Wreszcie natrafiłem na ten folder.
Zauważyłem, że były dwa pliki jar o tej samej nazwie, odpowiadające autobahn Android, który powodował konflikt. Więc usunąłem wszystkie pliki jar w folderze dexedLibs i odbudowałem projekt. To rozwiązało problem.
źródło
Aby dodać niezliczone inne potencjalne źródła ... Zaktualizowałem wszystkie biblioteki w
lib
folderze mojego projektu, ale później Eclipse „z pomocą” ponownie zainstalował wszystkie oryginalne biblioteki. Wewnątrz Eclipse nie było już żadnych odniesień do tych bibliotek, ale zewnętrzny program dex-maker po prostu przechwycił wszystkie pliki wlib
katalogu i tym samym uzyskał dwie wersje kilku.jar
plików bibliotecznych .git status
zidentyfikowałem nowe pliki igit clean -f
pozbyłem się ich dla mnie (chociaż czasami musiałem czekać lub ponownie uruchamiać Eclipse w systemie Windows, ponieważ pliki nadal były otwarte z kopii).źródło
ULTRA proste rozwiązanie i najlepsze:
Usuń wszystko w folderze głównego projektu prawym przyciskiem myszy -> Właściwości -> Ścieżka budowania Java z wyjątkiem Androida XY (gdzie XY to wersja w systemie Android). Oczyść i zbuduj. Gotowe!
Upewnij się wcześniej, że masz jeden plik android-support-v4.jar.
źródło
Jeśli używasz cordova, wypróbuj polecenie cordova clean
źródło