Jak dołączyć javadoc lub sources do jars w folderze libs?

Nowa wersja wtyczki ADT R17 dla Eclipse dodała funkcję automatycznego ustawiania zależności JAR. Każdy .pliki jar w folderze / libs są teraz dodawane do konfiguracji kompilacji. Niestety Android Dependencies classpath container nie można modyfikować.

Niestandardowe zależności Androida classpath

Jak mogę dołączyć javadoc i źródła do automatycznie wstawianego .jar (z folderu /libs)?

Author: blahdiblah, 2012-03-26

12 answers

Najlepszym sposobem na odpowiedź na twoje pytanie jest podsumowanie odpowiedzi z Xavier, plastiv, VinceFR i Christopher .

Przewodnik krok po kroku

W celu połączenia źródeł i javadoc Zbiblioteka jar, która jest automatycznie łączona przez Eclipse, musisz wykonać następujące czynności:

  1. umieść bibliotekę .plik jar w folderze libs i powiązane źródło .jar i doktor .pliki jar w osobnych podfoldery takie jak libs / src i libs/Docs . Możesz użyć nazwy innej niż src i docs, jeśli chcesz, ale ważne jest, aby .pliki jar nie znajdują się bezpośrednio w folderze libs .
  2. Utwórz plik .properties w folderze libs z dokładną nazwą rzeczywistej biblioteki .jar (patrz przykład). Upewnij się, że trzymasz .jar part.
  3. określa ścieżki względne do źródeł i javadoc .słoik w .properties plik.
  4. Zamknij i ponownie otwórz projekt Eclipse! Opcjonalnie odśwież projekt naciskając F5 .
  5. wybierz obiekt z połączonej biblioteki w kodzie źródłowym.
  6. Otwórz widok Javadoc w Eclipse, aby sprawdzić dokumentację (zobacz zrzut ekranu).
  7. Otwórz deklarację kodu źródłowego (domyślny Skrót: F3) wybranego obiektu.


Przykład

Przykład wykorzystuje Gson biblioteka .

Struktura katalogu libs:

libs
├── docs
│   └── gson-2.2.2-javadoc.jar
├── gson-2.2.2.jar
├── gson-2.2.2.jar.properties
└── src
    └── gson-2.2.2-sources.jar

Zawartość gson-2.2.2.słoik.właściwości

src=src/gson-2.2.2-sources.jar
doc=docs/gson-2.2.2-javadoc.jar


Informacje dodatkowe

Możesz oczywiście przenieść javadoc i źródła .jar do innych folderów i określić ścieżki względne. To zależy od Ciebie. Umieszczenie jarów source i javadoc bezpośrednio w folderze lib jest możliwe, ale nie jest zalecane , ponieważ powoduje to, że dokumentacja i Kod źródłowy zawarte w Twoim wniosku .


Zrzut ekranu Panelu Javadoc Eclipse:

JavaDoc view w Eclipse

Zrzut ekranu projektu Eclipse przy użyciu Gson z Androidem 4.2.2.:

Zrzut ekranu projektu testowego Eclipse


Odwoływanie się do rozpakowanych javadocs

W przypadku, gdy chcesz odwoływać się do Javadoc, które nie są dostarczane jako spakowane .jar, ale po prostu jako pliki i foldery , Jak zapytał programista Androida w komentarzach zrób "po": {]}

  1. umieść bibliotekę .jar w folderze libs/
  2. Utwórz plik yourlibraryname.jar.properties ( nie zapomnij o .jar) o następującej treści:

     doc=docs
    
  3. Dodaj foldery javadocs do folderu libs/.

Powinieneś wymyślić następującą strukturę folderów:

├── docs
│   ├── allclasses-frame.html
│   ├── allclasses-noframe.html
│   ├── com
│   │   └── google
│   │       └── ads
│   │           ├── Ad.html
│   │           │   ....
│   │           └── package-tree.html
│   │   ...
│   └── stylesheet.css
├── GoogleAdMobAdsSdk-6.4.1.jar
└── GoogleAdMobAdsSdk-6.4.1.jar.properties

Nie zapomnij zamknąć i ponownie otworzyć projektu Eclipse, jak wspomniano powyżej! Oto zrzut ekranu pracującego przykładowego projektu odsyła do GoogleAdMobAds Android library .

GoogleAdMobAds Android library Eclipse project

 400
Author: JJD,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-02-15 19:08:09

W systemie windows musisz usunąć ukośnik wsteczny dla odniesień do ścieżek doc i src w pliku właściwości. Przykład, dla Android-support-v4.jar zawartość pliku properties jest podobna do:

doc=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\docs
src=C:\\Program Files (x86)\\Android\\android-sdk\\extras\\android\\support\\v4\\src
 25
Author: farid_z,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-15 15:57:01

Odpowiedź pochodzi z http://code.google.com/p/android/issues/detail?id=27490#c21

W folderze libs musisz mieć:

doc(folder)
    foo_doc(folder)
        index.html
        ...
        ...
foo.jar
foo.jar.properties

I w twoim foo.jar.properties po prostu umieść doc=./doc/foo_doc

Być może będziesz musiał odświeżyć swój projekt, wyczyścić go, zamknąć i ponownie go otworzyć.

Dla mnie działa!
 17
Author: VinceFR,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-20 09:03:38

Próbowałem wszystkich powyższych i żaden z nich nie zadziałał na mnie. Wymyśliłem metodę, która zawsze zadziała. Zasadniczo winowajcą jest sposób, w jaki ADT traktuje folder "libs", więc rezygnuję z używania folderu" libs". Zamiast tego utworzyłem folder "biblioteki" i użyłem go.

Możesz wykonać następujące czynności i zawsze będzie działać - nawet jeśli ADT powinien zmienić sposób, w jaki radzi sobie z folderem "libs" w przyszłości:

  1. Utwórz folder "biblioteki".
  2. Create a pod-folder pod nim dla każdej biblioteki.
  3. Umieść wszystkie pliki dla każdej biblioteki w odpowiednim folderze (plik java jar, plik źródłowy jar, plik javadoc jar, itd.).
  4. Dodaj plik jar Javy dla każdego projektu w zakładce" biblioteki " dla ścieżki budowania Javy, klikając Dodaj Jary... przycisk do dodania jar z podfolderu Biblioteka w folderze "biblioteki".
  5. Dołącz źródło / javadocs do każdego projektu, otwierając projekt w zakładce "Biblioteki", wybierając pożądanego elementu i klikając na Edytuj... przycisk do dodania source / javadocs z podfolderu library w folderze "libraries".
  6. zaznacz pole wyboru dla każdego projektu w zakładce "Zamów i Eksportuj" dla ścieżki budowania Javy.
  7. po sprawdzeniu, czy wszystkie biblioteki zostały przeniesione usuń folder "libs".

Wykonując powyższą procedurę Twój projekt będzie miał foldery, które wyglądają tak:

Tutaj wpisz opis obrazka

Twoja ścieżka budowania Javy będzie wyglądać coś takiego:

Tutaj wpisz opis obrazka

W kolejności i eksporcie zaznaczone są biblioteki:

Tutaj wpisz opis obrazka

 10
Author: Danny Remington - OMS,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-07-18 10:01:04

Na razie przenieś bibliotekę, do której chcesz Javadoc lib. Dodają tę bibliotekę do Build Path i dodają Javadoc.

Sprawdź to komentarz w problemach z Androidem.

 5
Author: Carlos Sobrinho,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-27 12:59:15

Na ADT 22 nie mogłem uzyskać dostępu do Javadoc dla obu commons-io-2.4.jar i Android-support-v4.jar

Tak to naprawiłem:

  1. Warunek wstępny: obie biblioteki są wymienione w sekcji "biblioteki odwołane".

  2. Kliknij prawym przyciskiem myszy na commons-io-2.4.jar i wybierz Właściwości. Pojawia się okno:

Tutaj wpisz opis obrazka

Commons-io-2.4.jar jest dołączony do commons-io-2.4-javadoc.jar, więc podałem Javadoc w archiwum zewnętrznym pliku / align = "left" /

Zrobiłem to samo dla biblioteki wsparcia: kliknij prawym przyciskiem myszy na Android-support-v4.jar i wybierz Właściwości. Pojawia się ten ekran:

Tutaj wpisz opis obrazka

Tym razem wskazałem ścieżkę do katalogu źródłowego.

 4
Author: Javide,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-09-05 00:29:33

Odniesienie do biblioteki na commons-io-2.0.1.jar został uszkodzony, gdy uaktualniłem do narzędzi SDK i wersji ADT 17.

Aby rozwiązać problem użyłem Project - > Properties - > Java Build Path i wybrałem zakładkę Libraries. Usunąłem wszelkie odniesienia do commons-io-2.0.1.jar, a następnie użyto Add Jar do ponownego dodania commons-io-2.0.1.słoik do projektu. Następnie klikam strzałkę " > " obok nazwy biblioteki, aby rozwinąć odniesienie do biblioteki i użyłem przycisków edycji, aby ustawić załącznik źródłowy i Lokalizacja Javadoc.

Przepraszam, że nie mogę zamieścić zdjęcia, ponieważ nie mam wystarczającej reputacji (proszę...).

 3
Author: Mark Gittoes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-26 14:04:23

Wydaje się być ruchomym celem, ale po zebraniu bitów i kawałków z wielu miejsc (w tym odpowiedzi na to pytanie, które pomogły, ale nie opisały wszystkich niezbędnych szczegółów, a może system zmienił się nieco w międzyczasie), to wydaje się być rozwiązaniem, przynajmniej na razie (28 sierpnia 2013).

  • Otwórz folder dla swoich javadocs gdzieś , a nie wewnątrz twojego projektu.
  • Umieść swoje javadocs tam rozpakowane, każdy w swoim folder.
  • wewnątrz folderu lib Dodaj plik xxx.jar.properties dla każdego lib, z którym chcesz skojarzyć javadoc.
  • w tym pliku Właściwości, przejdź do folderu rozpakowałeś odpowiedni javadoc do (w systemie Windows, unikaj ukośników wstecznych):

doc=d:\\Android\\javadoc\\libGoogleAnalyticsServices

  • Zamknij i otwórz ponownie swój projekt w Eclipse (odświeżenie to za mało). Powinieneś teraz zobaczyć podpowiedzi po najechaniu kursorem na odpowiednie klasy.

Nieprzestrzeganie któregokolwiek z tych kroków (nie rozpakowując javadoc, odwołując się do pliku zamiast do folderu, itp.) wydaje się go łamać.

 1
Author: Gábor,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-08-28 13:40:06

Wiem, że to pytanie jest dość stare, ale kiedy borykałem się wczoraj z tym samym problemem, a rozwiązanie zamieszczone powyżej było dla mnie zbyt irytujące, dowiedziałem się, że można łatwo dodać definicję ścieżki źródłowej do .plik classpath projektu. Eclipse następnie dostosuje go i będziesz mógł przeglądać źródło.

Pozycja Classpath przed:

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]"/>

Po dodaniu ścieżki do źródła

<classpathentry kind="lib" path="[PATH_TO_MY_JAR]" sourcepath="[PATH_TO_MY_SOURCE_JAR]"/>

Hope this helps

 1
Author: zersaegen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-17 14:34:47

Wystarczy zaktualizować wtyczkę ADT. To mi pomogło!!

  1. Uruchom Eclipse, a następnie wybierz Help > Install New Software.
  2. Kliknij Dodaj, w prawym górnym rogu.
  3. w oknie dialogowym Dodaj repozytorium, które się pojawi, wprowadź "ADT Plugin" dla nazwy i następującego adresu URL dla lokalizacji: https://dl-ssl.google.com/android/eclipse / Uwaga: witryna aktualizacji Android Developer Tools wymaga bezpiecznego połączenia. Upewnij się, że wprowadzony adres URL witryny aktualizacji zaczyna się od HTTPS.
  4. Kliknij OK. W oknie dialogowym dostępne oprogramowanie zaznacz pole wyboru obok opcji Narzędzia programistyczne i kliknij przycisk Dalej.
  5. w następnym oknie zobaczysz listę narzędzi do pobrania. Kliknij Dalej.
  6. Przeczytaj i zaakceptuj umowy licencyjne, a następnie kliknij Zakończ.
  7. Jeśli pojawi się ostrzeżenie bezpieczeństwa informujące, że nie można ustalić autentyczności lub ważności oprogramowania, kliknij OK.
  8. Po zakończeniu instalacji uruchom ponownie Eclipse

Mam nadzieję, że pomaga!

 0
Author: akshay,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-05-25 09:13:48

Dla dowolnego jar, jeśli chcesz zobaczyć Pomoc Javadoc w podpowiedzi podczas kodowania, wykonaj następujące czynności: Kliknij prawym przyciskiem myszy Twój projekt > właściwości > Java Build Path > Karta Biblioteki. Kliknij strzałkę obok słoika, aby rozwinąć.

Załącznik źródłowy powinien wskazywać lokalizację rzeczywistego jar (prawdopodobnie w folderze java).

Javadoc location: Tutaj masz dwie opcje: URL i archive. Jeśli Twoje javadocs dla tego Jara są w postaci folderu zawiera indeks .plik html na pierwszym poziomie wybierz "Javadoc URL" i wskaż ten folder. Jeśli Twoje Javadoc są w jar, wybierz "Javadoc in archive" i wskaż na jar. Nie zapomnij ponownie uruchomić obszaru roboczego/zamknąć i ponownie otworzyć projekt, aby zaktualizować podpowiedź za pomocą informacji Javadoc.

Mam nadzieję, że pomoże to udzielić prostej odpowiedzi na to, co moim zdaniem powinno być bardzo prostym zadaniem.

 0
Author: Casey Murray,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-29 23:31:09

Mój solucion:

Pobierz wtyczkę eclipse o nazwie: "Java Source Attacher Feature".

Później wybierz jar i załącz kod źródłowy za pomocą tej wtyczki. Kliknij w plik JAR, aby go wybrać, prawym przyciskiem myszy, a następnie Wybierz "Dołącz źródło java".

Gdy masz kod źródłowy, masz automatycznie javadoc.

Teraz możesz użyć F2 nad klasami, aby wyświetlić asocjowany javadoc.

Enjoy

 0
Author: amartinm7,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-02 15:29:07