To jest dwuczęściowe pytanie dotyczące dodawania biblioteki innej firmy (JAR) do projektu systemu Android w Eclipse.
Pierwsza część pytania jest taka, że kiedy próbuję dodać plik JAR (bibliotekę) innej firmy do mojego projektu na Androida, najpierw pojawia się problem
Błąd podczas analizowania XML: niepowiązany prefiks
ponieważ próbuję użyć klasy z tego pliku JAR (i potrzebuję prefiksu w jakiś sposób zdefiniowanego). Co się dzieje?
Po drugie (po naprawieniu tego - odpowiedź jest podana poniżej) moja aplikacja nie działa na Androidzie i poprzez debuger (LogCat) odkrywam, że klasa, którą próbuję skonsumować, nie istnieje.
Przyczyna: java.lang.ClassNotFoundException: com.github.droidfu.widgets.WebImageView ...
Dlaczego, kiedy nie otrzymuję błędu kompilacji lub konsolidatora w Eclipse, czy występuje ten problem w emulatorze?
Te dwa pytania są retoryczne, ponieważ odpowiem na nie poniżej. Inne posty na tym forum docierają do problemu, a gdzie indziej jest dyskusja, ale czuję, że mogę być bardziej pomocny dla następnego gościa.
źródło
Upewnij się, że pliki JAR innych firm znajdują się w folderze „libs” projektów i zostaną umieszczone w pliku .apk podczas pakowania aplikacji. Możesz zobaczyć błędy uruchomieniowe na urządzeniu, jeśli coś w słoiku nie jest obsługiwane, ale poza tym odniosłem wielki sukces.
źródło
Konfigurowanie projektu bibliotecznego
Projekt biblioteki to standardowy projekt systemu Android, więc możesz utworzyć nowy w taki sam sposób, jak nowy projekt aplikacji.
Podczas tworzenia projektu biblioteki możesz wybrać dowolną nazwę aplikacji, pakiet i ustawić inne pola według potrzeb, jak pokazano na rysunku 1.
Następnie ustaw właściwości projektu, aby wskazać, że jest to projekt biblioteczny:
W Eksploratorze pakietów kliknij prawym przyciskiem myszy projekt biblioteki i wybierz opcję Właściwości. W oknie Właściwości wybierz grupę właściwości „Android” po lewej stronie i znajdź właściwości Biblioteki po prawej stronie. Zaznacz pole wyboru „to biblioteka” i kliknij Zastosuj. Kliknij OK, aby zamknąć okno Właściwości. Nowy projekt jest teraz oznaczony jako projekt biblioteki. Możesz rozpocząć przenoszenie kodu źródłowego i zasobów do niego, jak opisano w poniższych sekcjach.
źródło
Jeśli używasz narzędzia ADT w wersji 22, musisz sprawdzić zależności systemu Android i biblioteki prywatne systemu Android na karcie zamówienia i eksportu w ścieżce kompilacji projektu
źródło
Po pierwsze, problem z brakującym przedrostkiem.
Jeśli korzystasz z czegoś w pliku układu, który pochodzi od strony trzeciej, może być konieczne użycie również jego przedrostka, coś w rodzaju „droidfu:”, które występuje w kilku miejscach w konstrukcji XML poniżej:
<com.github.droidfu.widgets.WebImageView android:id="@+id/webimage" android:layout_width="75dip" android:layout_height="75dip" android:background="#CCC" droidfu:autoLoad="true" droidfu:imageUrl="http://www.android.com/images/opensourceprojec.gif" droidfu:progressDrawable="..." />
To wychodzi z JAR, ale musisz też dodać nowe „xmlns: droidfu”
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:droidfu="http://github.com/droidfu/schema" ...>
lub otrzymasz błąd niezwiązanego prefiksu. Dla mnie był to błąd podczas kopiowania i wklejania całego dostarczonego przykładu ze stron biblioteki zewnętrznej.
źródło
Mam powyższe dwa błędy i ostatecznie rozwiązałem.
Kliknij prawym przyciskiem myszy swój projekt -> właściwości -> ścieżka budowania java -> googleadmobadsdk (wybierz i umieść na górze), a następnie uruchom i problem rozwiązany. Zostało rozwiązane mój błąd wykonania.
źródło
Umieść źródło w folderze poza swoim obszarem roboczym. Kliknij prawym przyciskiem myszy w eksploratorze projektów i wybierz „Importuj ...”
Zaimportuj projekt do obszaru roboczego jako projekt systemu Android. Spróbuj go zbudować i upewnij się, że jest oznaczony jako projekt biblioteczny. Upewnij się również, że jest zbudowany z obsługą interfejsu API Google, jeśli nie, wystąpią błędy kompilacji.
Następnie kliknij prawym przyciskiem myszy swój główny projekt w eksploratorze projektów. Wybierz właściwości, a następnie wybierz Android po lewej stronie. W sekcji biblioteki poniżej kliknij „Dodaj”.
Biblioteka dymków mapview powinna być teraz dostępna do dodania do projektu.
źródło
Przejdź do ścieżki budowania w zaćmieniu, następnie kliknij kolejność i eksportuj, a następnie sprawdź bibliotekę / jar, a następnie kliknij przycisk w górę, aby przenieść ją na górę listy i najpierw skompilować.
źródło