Od aktualizacji do ADT
14 nie mogę już budować mojego projektu. Przed aktualizacją wszystko dobrze się układało.
Błąd:
[2011-10-23 16:23:29 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
[2011-10-23 16:23:29 - myProj] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/myapp/R$array;
Podobne problemy zostały zgłoszone i próbowałem tam sugestie, w tym
- Ponowne uruchomienie
Eclipse
. - Czyszczenie projektu i przebudowa - Wyłącz opcję „Projekt-> Kompiluj automatycznie”, następnie „Wyczyść” i „Buduj” projekt, a następnie spróbuj uruchomić. zresetuj opcję „Buduj automatycznie” na Wł
- Ponowna instalacja
Android
Narzędzi programisty - Ponowna instalacja Eclipse (zaktualizowana do najnowszej wersji 3.7.1)
- Utworzono nowy projekt importujący z systemu plików
- Utworzono nowy projekt z subversion.
Odpowiedzi:
Miałem ten sam problem, dość dziwny, ponieważ działo się to tylko podczas korzystania z Eclipse (ale z Antem było w porządku). Tak to naprawiłem:
Project Name
Build Path
->Configure Build Path
W
Java Build Path
przejdź do kartyOrder and Export
Odznacz swoją
.jar
bibliotekęTylko czasami: w zakładce Order and Export nie miałem tam żadnej biblioteki jar, więc odznaczałem element Prywatne biblioteki Androida. Teraz mój projekt jest uruchomiony.
źródło
Android Private Libraries
element. Teraz mój projekt jest uruchomiony.Mój problem został rozwiązany po wyczyszczeniu niektórych katalogów i plików pozostałych po poprzednich wersjach narzędzi. ADT Rev 14 zmienia się, gdzie przechowywane są pliki binarne . Usunąłem cały katalog bin, ponownie uruchomiłem Eclipse, wyczyściłem kompilację i wymusiłem przebudowę. Początkowo wydawało się, że to wystarczy, ale problem powrócił po kolejnym uruchomieniu.
W końcu odkryłem, że mój katalog bin został uwzględniony w ścieżce kompilacji projektu. Wyłączyłem bin ze ścieżki kompilacji i powtórzyłem powyższe kroki. To rozwiązało mój problem.
źródło
[Rozwiązane dla mnie]
Właściwości projektu Eclipse-> Ścieżka kompilacji Java-> Zamów i eksportuj
Odznacz prywatne biblioteki Androida.
źródło
Żadne z powyższych nie pomogło. W końcu był to prosty problem.
Miałem projekt, który wykorzystuje FacebookSDK i ViewPagerIndicator jako projekty biblioteczne. Wszystkie zostały zbudowane na Android API 16 i te dwa projekty korzystały z biblioteki wsparcia Androida vX (X nie jest 16!)
Dodałem zewnętrzny plik JAR do obu tych projektów i wskazałem go na \ extras \ android \ v4 ... A także usunąłem słoik v4, który miałem w ich folderach libs.
Wyczyść wszystkie projekty i przebuduj.
Voilla!
Dokładny błąd, który otrzymałem: Nie można uruchomić dex: Wiele plików dex definiuje Landroid / support / v4 / view / PagerAdapter; Konwersja do formatu Dalvik nie powiodła się: Nie można uruchomić dex: Wiele plików dex definiuje Landroid / support / v4 / view / PagerAdapter;
źródło
Ten problem się zdarzał, miałem zewnętrzny plik .jar w folderze libs o nazwie gson-2.2.2.jar, ale z jakiegoś powodu były dwa z nich, gson-2.2.2.jar i gson-2.2.2.jar ( 1), po prostu usunąłem tę ostatnią i mój projekt został poprawnie zbudowany.
źródło
/libs
poprzednim eksperymencie, w wyniku czego powstał Projekt Biblioteczny i wygenerowany z niego plik .jar. Usunięcie tego słoika/libs
rozwiązuje problem. +1źródło
manifest file
zostanie usunięty przez zaćmienie zbin
katalogu, dodaj go ręcznie i ponownie wyczyść projekt.Jak wspomnieli inni, dzieje się tak, gdy masz wiele kopii tej samej klasy na ścieżce kompilacji - w tym bin / w ścieżce klasy jest jednym ze sposobów zagwarantowania tego problemu.
Dla mnie miało to miejsce, gdy dodałem android-support-v4.jar do mojego folderu libs /, i jakoś zaćmienie dodałem drugą kopię do bin / klas / android-support-v4.jar.
Usunięcie dodatkowej kopii w koszu / klasach rozwiązało problem - nie jestem pewien, dlaczego Eclipse stworzył tam kopię.
Możesz to sprawdzić za pomocą
źródło
Dla mnie wystarczy kliknąć prawym przyciskiem myszy projekt -> Ścieżka kompilacji -> skonfiguruj ścieżkę kompilacji -> Biblioteki -> usuń zależność
po zadziałaniu.
źródło
Ten błąd może wystąpić, jeśli masz dwa słoiki zawierające te same nazwy klas, np. Miałem dwie biblioteki: jsr311-api-1.1.1.jar i jersey-core-1.17.1.jar, oba zawierające klasę javax.ws .rs.ApplicationPath. Usunąłem plik jsr311-api-1.1.1.jar i działało dobrze.
źródło
Ten błąd pojawiał się po dodaniu facebooksdk.jar do projektu, który już miał zależności od Androida-support-v4.jar . Ponieważ facebooksdk.jar zawiera już swój własny system Android-support-v4.jar, wystąpiły konflikty. Usunięcie wcześniejszego Androida-support-v4.jar z projektów Właściwości / Ścieżka kompilacji Java / Biblioteki rozwiązało problem.
źródło
Iść do Projektu / properties i Java Build Path i niezaznaczone na Androida prywatnych bibliotek .
Gotowy
źródło
Usunąłem zależności Androida ze ścieżki kompilacji i działało.
Edycja: zignoruj to. Miałem ten sam słoik w moim folderze zależności i bibliotek lib. Usunąłem ten z folderu lib.
źródło
Prawdopodobnie zainstalowałeś R14 , ten błąd mógł być spowodowany aktualizacją narzędzi platformy, musisz ponownie zainstalować SDK
źródło
Dla mnie ten problem istnieje tylko, o ile w mój projekt są zaangażowane projekty bibliotek Androida. Więc kiedy usunę wszystkie biblioteki i zrobię to, co powiedziałeś, mogę ponownie uruchomić moją aplikację. Jeśli w grę wchodzą biblioteki, nawet sztuczka polegająca na usuwaniu bin-a nie zadziała.
Nie rozumiem, dlaczego ten błąd pojawił się dzisiaj, odkąd używam ADT 14 od kilku dni. Ale były też inne błędy, które mnie uszczęśliwiały.
źródło
Usunięcie folderu bin nie wystarczyło, usunąłem również folder gen. Następnie po dwóch odbudowaniach zniknął komunikat o błędzie dex.
źródło
Wybierz projekt w Eksploratorze projektów , kliknij prawym przyciskiem myszy i wybierz Właściwości -> Ścieżka kompilacji Java -> Źródło -> Zaznacz pole Zezwalaj na foldery wyjściowe dla folderów źródłowych
źródło
Zasadniczo miałem do czynienia z tym samym problemem. Usunąłem folder BIN, a następnie usunąłem nieużywane pliki jar dla zamówienia i importu z zaćmienia. Po tym zadziałało
źródło
Spóźniam się na tę imprezę, ale dodając własne doświadczenia, aby móc je później znaleźć :)
Napotkałem ten problem po aktualizacji Androida SDK i zaćmienia reklam. Żadne ulepszenie nie zostanie ukarane!
Problem był dla mnie związany z projektami bibliotecznymi, moja aplikacja odwołuje się zarówno do standardowych projektów Java, jak i projektów bibliotek Androida. Zauważyłem, że ustawienia ścieżki kompilacji Java obejmowały projekty bibliotek systemu Android foldery src i res na liście źródeł (głosowanie za wszystkimi, którzy wspominali, że bin w źródle jest problemem, src i res również stanowiło problem).
Tak więc rozwiązaniem było:
Po drodze udało się to wszystko połączyć z innymi rozwiązaniami! Uff!
źródło
Natknąłem się na to, kiedy uaktualniłem z adt 14 do 15 i aby go uruchomić, po prostu usunąłem folder .eclipse (wraz z moimi ustawieniami) i ponownie zainstalowałem adt 15.
źródło
Po przeczytaniu odpowiedzi Terrys na temat usunięcia katalogu bin i Larrys na temat lokalizacji katalogu ANT:
Przeniosłem pliki znajdujące się w katalogu BIN moich projektów do BIN / CLASSES i uruchomiłem je.
Edycja 1 Potem nie powiodło się przy drugim uruchomieniu ... doh
Edytuj 2 Tak zamknięte Eclipse przeniosło pliki z powrotem do oryginalnej lokalizacji i wszystko działa ... um co? Nie udaję, że wiem, dlaczego to zadziałało. Zaktualizuje, jeśli jakieś zmiany.
Edytuj 3 Z moich kopii zapasowych zauważyłem, że rzeczywiście w katalogu BIN i BIN / CLASSES znajdowały się zduplikowane pliki.
Więc odpowiedź brzmi: nie ma plików w obu lokalizacjach. Przynajmniej dla mnie to działało.
źródło
Zmodyfikuj plik eclipse.ini i ustaw parametr maksymalnej pamięci na
Następnie uruchom ponownie komputer.
To zadziałało dla mnie.
źródło
znalazłem rozwiązanie, które wierzę?
Gdzie jest napisane: „Lcom / coremedia / iso / AbstractBoxParser $ 1”, to akurat jest to lokalizacja biblioteki, którą zaimportowałem, która spowodowała problem. Szukałem com.codemedia.iso.AbstractBoxParser $ 1.class i .AbstractBoxParser.class .... wziął ten słoik, rozpakował go, usunął oba te pliki, a następnie ponownie spakował jako .zip, dodał do biblioteki, wyczyścił i działał! nigdy więcej konfliktu dla mnie! (również brak aktualizacji lub dodatkowych pobrań)
źródło
Miałem dwie różne wersje plików .jar Cordova w moim folderze libs, usunąłem tę, z której nawet nie korzystałem i od razu zadziałało. Dziwne, ponieważ wcześniej tego nie zauważyłem i działało to wcześniej, a potem nagle przestało działać ...
źródło
Aktualizacja ADT R14 zmienia się, gdy klasy idą do katalogu bin / klas (patrz http://tools.android.com/recent/buildchangesinrevision14 ). Jeśli używasz ANT, powinieneś zmienić ścieżkę swoich klas z bin do bin / klas. To zadziałało dla mnie.
źródło
Rozwiązanie dla mnie:
Przejdź do obszaru roboczego projektu (nie projektu) i uruchom następujące polecenia:
dev1: workspace $ cd ~ / Documents / workspace / .metadata / .plugins / dev1: workspace $ rm -rf org.eclipse.core.resources
Przejdź do katalogu Eclipse i wpisz następujące polecenie:
dev1: eclipse $ ./eclipse clear
Eclipse uruchomi się z pustym obszarem roboczym - nie martw się, że twoje projekty wciąż tam są. Po prostu stwórz nowy projekt z istniejących zasobów i rzeczy powinny być sos.
Dokładny błąd, który otrzymałem: [2012-02-07 14:15:53 - Dex Loader] Nie można uruchomić dex: Wiele plików dex definiuje Landroid / support / v4 / view / PagerAdapter; [2012-02-07 14:15:53 - ProjectCloud] Konwersja do formatu Dalvik nie powiodła się: Nie można wykonać dex: Wiele plików dex definiuje Landroid / support / v4 / view / PagerAdapter;
źródło
Mam kilka projektów bibliotek z tą samą nazwą pakietu określoną w AndroidManifest (więc R.java nie generuje duplikatów nazw pól). Musiałem usunąć wszelkie uprawnienia i działania z pliku AndroidManifest.xml dla wszystkich projektów bibliotecznych, aby usunąć błąd, aby plik Manifest.java nie został utworzony wiele razy. Mam nadzieję, że to może komuś pomóc.
źródło
Po wypróbowaniu wszystkich innych sugestii bez powodzenia, usunąłem całą zawartość katalogu „bin” moich projektów, następnie ponownie uruchomiłem zaćmienie i zadziałało.
źródło
Przekształciłem projekt niebiblioteczny w projekt biblioteczny, ale miał on wcześniej zbudowany plik jar w folderze libs. Usunięcie tego pliku jar spowodowało, że ten błąd zniknął.
źródło
Napotkałem ten sam problem, a następnie zobaczyłem podczas wypychania mojej aplikacji kilka plików jar, które zostały załadowane dwa razy, stąd wielokrotny błąd dex. Wystarczy przejść do właściwości projektu -> Java Build Path i spróbować odznaczyć jar, który jest ładowany dwukrotnie.
źródło
[Rozwiązane dla mnie]
usuwając zduplikowany „plik JAR” biblioteki, a następnie usuń plik BuildConfig.java, wyczyść projekt i jego działanie.
źródło