Utworzyłem projekt na Androida i do mojego projektu dodałem zewnętrzny plik JAR (hessian-4.0.1.jar). Następnie dodałem plik JAR do ścieżki kompilacji i zaznaczyłem go w polu Zamów i eksportuj.
Wydaje się, że zamówienie i eksport są ignorowane, a podczas uruchamiania brakuje wszystkich klas z zewnętrznego pliku JAR.
Czy istnieje sztuczka, aby poprawnie dołączyć potrzebne klasy z zewnętrznego pliku JAR podczas budowania aplikacji dla systemu Android przy użyciu wtyczki Eclipse? Nie chcę używać mrówki ani Mavena.
android
eclipse
build.gradle
class-library
AndroidSmoker74
źródło
źródło
Odpowiedzi:
Dla Eclipse
Dobrym sposobem na dodanie zewnętrznych plików JAR do projektu Android lub dowolnego projektu Java jest:
libs
w folderze głównym projektulibs
folderuTeraz kliknij prawym przyciskiem myszy plik Jar, a następnie wybierz Ścieżka kompilacji> Dodaj do ścieżki kompilacji , która utworzy folder o nazwie „Biblioteki referencyjne” w twoim projekcie
W ten sposób nie stracisz bibliotek, do których istnieją odniesienia na dysku twardym, za każdym razem, gdy przenosisz projekt na inny komputer.
Dla Androida Studio
Uwaga: Jeśli korzystasz z bibliotek stron trzecich, lepiej użyć zależności przechodnich których skrypt Gradle automatycznie pobiera plik JAR i plik JAR zależności po uruchomieniu skryptu gradle.
Przykład: kompiluj „com.google.android.gms: play-services-ads: 9.4.0”
Przeczytaj więcej o zarządzaniu stopniem zależności
źródło
libs
(zamiastlib
)libs/
. Nie modyfikuj ręcznie ścieżki kompilacji.Tak, możesz go użyć. Oto jak:
Ten film może być przydatny na wypadek problemów.
źródło
Obecnie używam SDK 20.0.3 i żadne z poprzednich rozwiązań nie działało dla mnie.
Powodem, dla którego hessdroid działa tam, gdzie zawiódł, jest to, że dwa pliki jar zawierają Javę skompilowaną dla różnych maszyn wirtualnych. Nie można zagwarantować, że kod bajtu utworzony przez kompilator Java zostanie uruchomiony na maszynie wirtualnej Dalvik. Nie można zagwarantować, że kod bajtu utworzony przez kompilator Androida działa na maszynie wirtualnej Java.
W moim przypadku miałem dostęp do kodu źródłowego i byłem w stanie utworzyć dla niego plik jar dla systemu Android za pomocą metody opisanej tutaj: https://stackoverflow.com/a/13144382/545064
źródło
Wiem, że OP kończy swoje pytanie odniesieniem do wtyczki Eclipse, ale przybyłem tutaj z wyszukiwaniem, który nie określał Eclipse. Tak więc idzie o Android Studio:
jar
plik do katalogu libs (np. Kopiuj / wklej)jar
plik prawym przyciskiem myszy i wybierz „Dodaj jako bibliotekę ...”Otóż to!
źródło
Okazuje się, że nie sprawdziłem wystarczająco dobrze śladu stosu, problemem nie jest to, że zewnętrzny plik JAR nie został uwzględniony.
Problem polega na tym, że na platformie Android brakuje javax.naming. * I wielu innych pakietów, które również zależą od zewnętrznego JAR.
Dodanie zewnętrznych plików JAR oraz ustawienie Zamów i eksportuj w Eclipse działa zgodnie z oczekiwaniami w projektach na Androida.
źródło
Przejdź do bieżącego projektu
Następnie jest dodawany do pliku bibliotek referencyjnych w bieżącym projekcie.
źródło
Interfejs Java API Androida nie obsługuje javax.naming. * I wielu innych rzeczy javax. *. Musisz uwzględnić zależności jako osobne słoiki.
źródło
Jeśli korzystasz z Android Studio, wykonaj następujące czynności (Skopiowałem i zmodyfikowałem odpowiedź na @Vinayak Bs):
źródło
w Android Studio, jeśli używasz gradle
dodaj to do build.gradle
i dodaj plik jar do folderu libs
źródło
Jeśli używasz systemu budowania stopni , wykonaj następujące kroki:
umieść
jar
pliki w odpowiednimlibs
folderze aplikacji na Androida. Będziesz zazwyczaj znaleźć wProject
>app
>libs
. Jeślilibs
brakuje folderu, utwórz go.dodaj to do swojego
build.gradle
plikuapp
. (Nie doProject
„sbuild.gradle
)Obejmie to wszystkie twoje
jar
pliki dostępne wlibs
folderze.Jeśli nie chcesz dołączać wszystkich
jar
plików, możesz dodać je indywidualnie.compile fileTree(dir: 'libs', include: 'file.jar')
źródło
utwórz folder (np. lib) w swoim projekcie, skopiuj słoik do tego folderu . teraz przejdź do konfiguracji ścieżki kompilacji klikając prawym przyciskiem myszy projekt, tam w ścieżce kompilacji wybierz
„dodaj słoik” przejdź do utworzonego folderu i wybierz słoik.
źródło
Kopiowanie pliku .jar do folderu projektu Android nie zawsze jest możliwe.
Zwłaszcza jeśli jest to wynik innego projektu w twoim obszarze roboczym i ciągle się aktualizuje.
Aby rozwiązać ten problem, musisz dodać słoik jako plik połączony do swojego projektu, zamiast importować go (który skopiuje go lokalnie).
W interfejsie użytkownika wybierz:
Projekt -> Importuj -> System plików -> twojar.jar -> (Obszar opcji) Zaawansowane -> Utwórz łącze w obszarze roboczym.
Link zostanie zapisany w pliku .project :
PARENT-5-PROJECT_LOC
oznacza w stosunku do pliku projektu, 5 katalogów w górę (../../../../../).Następnie dodaj go do bibliotek:
Projekt -> Właściwości -> Ścieżka kompilacji Java -> Biblioteki -> Dodaj jar -> twojar.jar
W tym samym oknie wybierz kartę Zamów i eksportuj i zaznacz swój słoik, aby został dodany do apk.
źródło