2012-11-27 14 views
10

Zauważyłem całkiem niedawno folder w moim projekcie Phonegap/Android (project/bin/dexedLibs), a ten folder zawiera dwa pliki .jar. Po porysowaniu w Internecie znalazłem jedną stronę internetową, na której autor powiedział, że wersja 21 programu ADT umieszcza w projekcie projekt "wstępnie odtworzone zasoby", aby umożliwić szybsze czasy budowy.folder dexedLibs w projekcie androidowym

Ostatnio zrobiłem upgrade do ADT 21 i zastanawiałem się, czy ktoś inny może mi dostarczyć więcej informacji na temat tego, co te "przedduszone Liby" naprawdę robią? Nie mogłem znaleźć żadnych innych przydatnych informacji w sieci.

Odpowiedz

10

Mam projekt Android z około 20 bibliotek zewnętrznych. Przed ADT 21 za każdym razem, gdy zmieniłem kod źródłowy, przebudowanie aplikacji zajęło wiele wieków. Teraz jest dość szybki!

Myślę, że powodem jest to, że przed ADT 21, skompilował biblioteki zewnętrzne do kodu dex za każdym razem, gdy kliknąłeś przycisk "Uruchom" w czasie zaćmienia. Teraz skompiluje kod dex dla bibliotek zewnętrznych tylko raz (aż do ich zmiany) i użyje bibliotek prebuild na późniejszy "Run".

Podoba mi się ta funkcja!

+0

Dzięki Jane - potwierdza to, co autor miał na myśli, mówiąc, że ta funkcja pomaga w czasach "szybszego budowania". – Boyds

5

Należy pamiętać! Spędziłem godzinę, aby dowiedzieć się, dlaczego pojawia się wyjątek:

Caused by: java.lang.NoSuchMethodError: 

Powodem było dlatego, że zmieniła moje lib słoik do nowego słoika (ta sama nazwa) z metody pracy, a nie ADT 21 przygotuj nowy w dexedLibs.

Po prostu usuń katalog bin, a Eclipse to odtworzy.

0

Pytanie dotyczy około 2 lat, ale nadal interesujące.

Dla osób, które przeglądają się tutaj później: Po prostu miałem problemy, ponieważ zmieniłem nazwę projektu Cordova z my.name.a3e na my.name.A3E, a następnie proces budowania się zawiesił. Okazało się, że zepsute pliki w ant-build nie zostały odświeżone (wielkość liter ma znaczenie). Po usunięciu folderu ant-build działało dobrze, ale kompilacja zajęła więcej czasu po raz pierwszy.

Plik DEX to plik wykonywalny Dalvik, skompilowany kod bajtowy, który może być wykonany przez maszynę wirtualną Dalvik. Dalvik jest podstawowym składnikiem systemu Android, dlatego właśnie istnieje.

http://sourceforge.net/projects/dexer/ http://developer.android.com/reference/dalvik/system/DexFile.html http://fileinfo.com/extension/dex

Należy zauważyć, że projekt Eclipse czysty nie usunie dexed bibliotekami.

Powiązane problemy