Jak dołączyć javadoc lub źródła do słoików w folderze libs?

254

Nowa wersja wtyczki ADT r17 do Eclipse dodaje funkcję automatycznego ustawiania zależności JAR. Wszelkie pliki .jar w folderze / libs są teraz dodawane do konfiguracji kompilacji. Niestety kontener ścieżki klas zależności systemu Android jest niemodyfikowalny.

Ścieżka klasy niemodyfikowalnych zależności Androida

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

Sergii Pechenizkyi
źródło
Nie sądzę, żeby na twoje pytanie udzielono odpowiedzi. Zaakceptowana odpowiedź Marka daje dokładnie to, o co prosiłeś NIE, aby było rozwiązaniem. Jak możemy dołączyć javadoc i źródła poprzez auto-libs (nie poprzez ręczne słoiki)?
pjv
2
Wystąpił problem z tym błędem code.google.com/p/android/issues/detail?id=27490#c21 . Komentarz 21 mówi, że dołączanie źródeł / javadoc będzie możliwe w ADT r20 ze standardowym plikiem .properties java (foo.jar -> foo.jar.properties), który pozwala edytować względną lub bezwzględną ścieżkę do folderu źródłowego (lub archiwum) i / lub względna lub bezwzględna ścieżka do javadoc.
Sergii Pechenizkyi

Odpowiedzi:

401

Najlepszym sposobem na udzielenie odpowiedzi na pytanie jest streszczenie odpowiedzi Xaviera , plastiva , VinceFR i Christophera .

Przewodnik krok po kroku

Aby połączyć źródła i javadoc z biblioteką .jar, która jest automatycznie łączona przez Eclipse, musisz wykonać następujące czynności:

  1. Umieść plik .jar biblioteki w folderze libs , a powiązane źródłowe pliki .jar i doc .jar w osobnych podfolderach, takich jak libs / src i libs / docs . Jeśli chcesz, możesz użyć nazwy innej niż src i docs , ale ważne jest, aby pliki .jar nie znajdowały się bezpośrednio w folderze libs .
  2. Utwórz .propertiesplik w folderze libs z dokładną nazwą faktycznej biblioteki .jar (patrz przykład). Upewnij się, że zachowałeś część .jar .
  3. Określ względne ścieżki do źródeł i .propertiespliku javadoc .jar w pliku.
  4. Zamknij i ponownie otwórz projekt Eclipse! Opcjonalnie odśwież projekt, naciskając F5.
  5. Wybierz obiekt połączonej biblioteki w kodzie źródłowym.
  6. Otwórz widok Javadoc w Eclipse, aby sprawdzić dokumentację (patrz zrzut ekranu).
  7. Otwórz deklarację kodu źródłowego (domyślny skrót:) F3wybranego obiektu.


Przykład

W przykładzie użyto biblioteki Gson .

Struktura katalogów folderu 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ść pliku gson-2.2.2.jar.properties

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


Dodatkowe informacje

Oczywiście możesz przenieść javadoc i źródła .jar do innych folderów i określić ścieżki względne. To zależy od Ciebie. Umieszczenie słoika źródłowego i javadoc bezpośrednio w folderze lib jest możliwe, ale nie zalecane , ponieważ powoduje to dołączenie dokumentacji i kodu źródłowego do aplikacji .


Zrzut ekranu panelu Eclipse JavaDoc:

Widok JavaDoc w środowisku 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

Jeśli chcesz odwoływać się do javadoców, które nie są dostarczane jako spakowane, .jarale po prostu jako pliki i foldery, o które prosi deweloper Androida w komentarzach, wykonaj następujące czynności:

  1. Umieść bibliotekę .jarw libs/folderze
  2. Utwórz yourlibraryname.jar.propertiesplik ( nie zapomnij.jar ) o następującej treści:

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

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 działającego przykładowego projektu odwołującego się do biblioteki GoogleAdMobAds na Androida .

Biblioteka GoogleAdMobAds projektu Eclipse dla Androida

JJD
źródło
7
Achhh, było to dla mnie zamknięcie i ponowne otwarcie projektu Eclipse. (Odświeżałem i sprzątałem kilka razy bez wcześniejszego szczęścia.)
Steve Haley
4
Dzięki @JJD, który działał świetnie. Musiałem zrestartować Eclipse, zanim zaczął działać.
javajavajavajavajava
26
Uwaga: Ty naprawdę należy umieścić Javadoc i źródłowych JAR do podkatalogu, np „./libs/docs”, w przeciwnym razie te JAR zostaną dołączone do pliku APK! Ponadto nie będzie można dołączyć Javadoc dla wielu bibliotek, ponieważ kompilacja pliku APK zakończy się niepowodzeniem, gdy znajdzie duplikaty plików HTML.
Christopher Orr,
5
Czy można odwoływać się do zdalnego javadoc z pliku .properties? Podobnie jak: doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Matthias
9
Najwyraźniej to nie działa, jeśli masz zamiar połączyć Javadoc, a nie kod źródłowy, musiałem rozpakować jar Javadoc za pomocą 7zip do folderu w Moich dokumentach, a następnie plik właściwości wskazywał folder z indeksem Javadoc .html bezpośrednio jak so doc = C: \\ Users \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc
mbwasi
25

W systemie Windows musisz uciec od ukośnika odwrotnego, aby uzyskać odniesienia do ścieżek doc i src w pliku właściwości. Przykład: dla pliku android-support-v4.jar zawartość pliku właściwości przypomina:

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
farid_z
źródło
1
wow twoja odpowiedź rozwiązała mój problem, postawiłem jeden \ ale musimy postawić \\. dzięki bardzoh
Arash
17

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 włóżdoc=./doc/foo_doc

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

Mi to pasuje!

VinceFR
źródło
Jeśli masz dokumenty w pliku zip, to jest ta droga, wielkie dzięki! kciuki w górę
Akhil Jain
10

Próbowałem wszystkich powyższych i żadne z nich nie działało dla mnie. Wymyśliłem metodę, która zawsze będzie działać. Zasadniczo winowajcą jest sposób, w jaki ADT traktuje folder „libs”, więc wychodzę z folderu „libs”. Zamiast tego utworzyłem folder „bibliotek” i wykorzystał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 zmienia sposób obsługi folderu „libs” w przyszłości:

  1. Utwórz folder „bibliotek”.
  2. Utwórz pod nim podfolder dla każdej biblioteki.
  3. Umieść wszystkie pliki dla każdej biblioteki w odpowiednim folderze (plik jar java, źródłowy plik jar, plik jar javadoc itp.).
  4. Dodaj plik jar Java dla każdego projektu na karcie „Biblioteki” ścieżki kompilacji Java, klikając przycisk Add Jars... przycisk, aby dodać jar z podfolderu biblioteki w folderze „biblioteki”.
  5. Dołącz source / javadocs do każdego projektu, otwierając projekt w zakładce „Biblioteki”, wybierając żądany element i klikając Edit...przycisk, aby dodać source / javadocs z podfolderu biblioteki w folderze „biblioteki”.
  6. Zaznacz pole wyboru dla każdego projektu na karcie „Zamów i eksportuj” ścieżki kompilacji Java.
  7. Po sprawdzeniu, że wszystkie biblioteki zostały przeniesione, usuń folder „libs”.

Postępując zgodnie z powyższą procedurą, twój projekt będzie miał foldery, które wyglądają tak:

wprowadź opis zdjęcia tutaj

Ścieżka kompilacji Java będzie wyglądać mniej więcej tak:

wprowadź opis zdjęcia tutaj

W zamówieniach i eksportach zaznaczone są biblioteki:

wprowadź opis zdjęcia tutaj

Danny Remington - OMS
źródło
5

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

Sprawdź ten komentarz w kwestiach Androida.

Carlos Sobrinho
źródło
Nie zapomnij (podobnie jak zrobiłem), aby sprawdzić kolejność i ustawić bibliotekę do eksportu w Build Path.
Carlos Sobrinho
4

W ADT 22 nie mogłem uzyskać dostępu do Javadoc zarówno dla commons-io-2.4.jar, jak i android-support-v4.jar

Tak to naprawiłem:

  1. Warunek: obie biblioteki są wymienione w sekcji „Biblioteki referencyjne”.

  2. Kliknij prawym przyciskiem myszy plik commons-io-2.4.jar i wybierz polecenie Właściwości. Pojawi się to okno:

wprowadź opis zdjęcia tutaj

commons-io-2.4.jar jest w pakiecie z commons-io-2.4-javadoc.jar, więc podałem Javadoc w zewnętrznej ścieżce pliku archiwum.

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:

wprowadź opis zdjęcia tutaj

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

Javide
źródło
Jest to zdecydowanie najłatwiejsza i najbardziej bezpośrednia metoda dołączenia javadoc i / lub src do biblioteki. Dzięki! Jako dodatkową notatkę, ani javadoc, ani src nie muszą znajdować się w Bibliotece odniesienia.
srebrny
3

Odwołanie do biblioteki commons-io-2.0.1.jar zostało zerwane podczas aktualizacji do narzędzi SDK i wersji ADT 17.

Aby rozwiązać problem, użyłem Project -> Właściwości -> Ścieżka kompilacji Java i wybrałem kartę Biblioteki. Usunąłem wszelkie odniesienia do pliku commons-io-2.0.1.jar, a następnie użyłem polecenia Dodaj jar, aby ponownie dodać plik commons-io-2.0.1.jar do projektu. Następnie klikam strzałkę „>” obok nazwy biblioteki, aby rozwinąć odwołanie do biblioteki, i użyłem przycisków edycji, aby ustawić załącznik źródła i lokalizację Javadoc.

Niestety nie mogę opublikować obrazu, ponieważ nie mam wystarczającej liczby przedstawicieli (proszę ...).

Mark Gittoes
źródło
Nie działało dla mnie. Gdzie trzymasz plik jar w swoim projekcie? Mam swój w folderze libs.
Daniel Ryan
W końcu ktoś dał instrukcję, która faktycznie działała! Dziękuję bardzo. Żadna z wyżej wymienionych metod, w tym plik „.properties”, nie przyniosła mi żadnego efektu, ale dodanie biblioteki jako zewnętrznego pliku JAR na ekranie dialogowym nie zadziałało.
AlxDroidDev
1

Wydaje się być ruchomym celem, ale po zebraniu fragmentó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 w międzyczasie system nieco się zmienił), wydaje się, że tak jest rozwiązanie, przynajmniej na razie (28 sierpnia 2013 r.).

  • Otwórz folder dla javadocs gdzieś poza projektem.
  • Umieść tam swoje javadoki rozpakowane, każdy w osobnym folderze.
  • W swoim libfolderze dodaj xxx.jar.propertiesplik dla każdej biblioteki, z którą chcesz skojarzyć javadoc.
  • W tym pliku właściwości zapoznaj się z folderem, do którego rozpakowałeś odpowiedni plik javadoc (w systemie Windows unikaj ukośników odwrotnych):

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

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

Nieprzestrzeganie żadnego z tych kroków (nie rozpakowywanie javadoc, odwoływanie się do pliku zamiast folderu itp.) Wydaje się go zepsuć.

Gábor
źródło
1

Wiem, że to pytanie jest dość stare, ale kiedy wczoraj napotkałem ten sam problem, a powyższe rozwiązanie było dla mnie zbyt denerwujące, dowiedziałem się, że można łatwo dodać definicję ścieżki źródłowej do pliku .classpath projektu. Eclipse dostosuje go i będziesz mógł przeglądać źródła.

wpis ścieżki klasy 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]"/>

Mam nadzieję że to pomoże

krinklesaurus
źródło
0

po prostu zaktualizuj wtyczkę ADT. To działało dla mnie !!

  1. Uruchom Eclipse, a następnie wybierz Pomoc> Zainstaluj nowe oprogramowanie.
  2. Kliknij Dodaj w prawym górnym rogu.
  3. W wyświetlonym oknie dialogowym Dodaj repozytorium wpisz „Wtyczka ADT” dla nazwy i następujący adres URL dla lokalizacji: https://dl-ssl.google.com/android/eclipse/ Uwaga: Witryna aktualizacji Narzędzi dla programistów Androida wymaga połączenie chronione. Upewnij się, że adres URL witryny aktualizacji zaczyna się od HTTPS.
  4. Kliknij OK. W oknie dialogowym Dostępne oprogramowanie zaznacz pole wyboru obok Narzędzi programisty i kliknij Dalej.
  5. W następnym oknie zobaczysz listę narzędzi do pobrania. Kliknij Następny.
  6. Przeczytaj i zaakceptuj umowy licencyjne, a następnie kliknij przycisk Zakończ.
  7. Jeśli pojawi się ostrzeżenie dotyczące bezpieczeństwa informujące, że nie można ustalić autentyczności lub ważności oprogramowania, kliknij przycisk OK.
  8. Po zakończeniu instalacji uruchom ponownie Eclipse

Mam nadzieję, że to pomaga!

akshay
źródło
0

W przypadku dowolnego jar, jeśli chcesz wyświetlić pomoc Javadoc w etykiecie narzędzi podczas kodowania, wykonaj następujące czynności: Kliknij prawym przyciskiem myszy swój projekt> Właściwości> Ścieżka kompilacji Java> Karta Biblioteki. Kliknij strzałkę obok słoika, aby rozwinąć.

Załącznik źródłowy powinien wskazywać lokalizację rzeczywistego słoika (prawdopodobnie bezpośrednio w folderze Java).

Lokalizacja Javadoc : Masz tutaj dwie możliwości: URL i archiwum. Jeśli javadocs dla tego jar są w formie folderu zawierającego plik index.html na pierwszym poziomie, wybierz „Javadoc URL” i wskaż ten folder. Jeśli twoje javadoki są w słoiku, wybierz „Javadoc w archiwum” i wskaż słoik. Nie zapomnij zrestartować obszaru roboczego / zamknąć i ponownie otworzyć projekt, aby zaktualizować etykietkę z informacjami Javadoc.

Mam nadzieję, że to pomoże dać prostą odpowiedź na to, co moim zdaniem powinno być bardzo prostym zadaniem.

Casey Murray
źródło
0

Moje rozwiązanie:

Pobierz wtyczkę Eclipse o nazwie: „Java Source Attacher Feature”.

Później wybierz słoik i dołącz kod źródłowy za pomocą tej wtyczki. Kliknij plik jar, aby go zaznaczyć, prawy przycisk myszy, a następnie wybierz opcję „dołącz źródło Java”.

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

Teraz możesz użyć F2 w klasach, aby wyświetlić asocjowanego javadoc.

Cieszyć się

Antonio Martin
źródło