Wie hänge ich Javadoc oder Quellen an Jars im libs-Ordner an?


254

Neue Version des ADT r17-Plugins für Eclipse hinzugefügt, um JAR-Abhängigkeiten automatisch einzurichten. Alle JAR-Dateien im Ordner / libs werden jetzt zur Build-Konfiguration hinzugefügt. Leider kann der Klassenpfadcontainer für Android-Abhängigkeiten nicht geändert werden.

Nicht modifizierbarer Klassenpfad für Android-Abhängigkeiten

Wie kann ich Javadoc und Quellen an die automatisch eingefügte JAR-Datei (aus dem Ordner / libs) anhängen?


Ich glaube nicht, dass Ihre Frage beantwortet wurde. Marks akzeptierte Antwort gibt genau das, was Sie gebeten haben, NICHT die Lösung zu sein. Wie können wir Javadoc und Quellen über die Auto-Libs anhängen (nicht über manuelle Jars)?
pjv

2
Es gibt ein Problem mit diesem Fehlercode.google.com/p/android/issues/detail?id=27490#c21 . Kommentar 21 besagt, dass das Anhängen von Quellen / Javadoc in ADT r20 mit einer Standard-Java-Eigenschaftendatei (foo.jar -> foo.jar.properties) möglich ist, mit der Sie den relativen oder absoluten Pfad zum Quellordner (oder Archiv) und bearbeiten können / oder relativer oder absoluter Pfad zum Javadoc.
Sergii Pechenizkyi

Antworten:


401

Die beste Möglichkeit, Ihre Frage zu beantworten, besteht darin, die Antworten von Xavier , plastiv , VinceFR und Christopher zusammenzufassen .

Schritt für Schritt Anleitung

Um die Quellen und Javadoc mit einer JAR-Bibliothek zu verknüpfen, die automatisch von Eclipse verknüpft wird, müssen Sie folgende Schritte ausführen :

  1. Platzieren Sie die JAR-Datei der Bibliothek im Ordner libs und die zugehörigen JAR-Quell- und Doc-JAR-Dateien in separaten Unterordnern wie libs / src und libs / docs . Sie können einen anderen Namen als src und docs verwenden, wenn Sie möchten. Es ist jedoch wichtig, dass sich die .jar-Dateien nicht direkt im libs- Ordner befinden.
  2. Erstellen Sie .propertiesim Ordner libs eine Datei mit dem genauen Namen der tatsächlichen Bibliothek .jar (siehe Beispiel). Stellen Sie sicher, dass Sie den .jar- Teil behalten .
  3. Geben Sie die relativen Pfade zu den Quellen und javadoc .jar in der .propertiesDatei an.
  4. Schließen Sie das Eclipse-Projekt und öffnen Sie es erneut! Aktualisieren Sie das Projekt optional durch Drücken von F5.
  5. Wählen Sie im Quellcode ein Objekt der verknüpften Bibliothek aus.
  6. Öffnen Sie die Javadoc-Ansicht in Eclipse, um die Dokumentation zu überprüfen (siehe Screenshot).
  7. Öffnen Sie die Quellcode-Deklaration (Standardverknüpfung :) F3des ausgewählten Objekts.


Beispiel

Das Beispiel verwendet die Gson-Bibliothek .

Verzeichnisstruktur des libs-Ordners:

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

Inhalt von gson-2.2.2.jar.properties

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


Zusätzliche Information

Sie können das Javadoc und die Quell-JAR-Datei natürlich in andere Ordner verschieben und relative Pfade angeben. Das liegt an dir. Das direkte Platzieren der Quell- und Javadoc-Jars im lib- Ordner ist möglich, wird jedoch nicht empfohlen , da dadurch Dokumentation und Quellcode in Ihre Anwendung aufgenommen werden .


Screenshot des Eclipse JavaDoc-Bedienfelds:

JavaDoc-Ansicht in Eclipse

Screenshot eines Eclipse-Projekts mit Gson mit Android 4.2.2.:

Screenshot des Eclipse-Testprojekts


Referenzieren von entpackten Javadocs

Wenn Sie auf Javadocs verweisen möchten, die nicht als gepackte, .jarsondern einfach als Dateien und Ordner bereitgestellt werden, wie vom Android-Entwickler in den Kommentaren gefordert, gehen Sie wie folgt vor:

  1. Legen Sie die Bibliothek .jarin den libs/Ordner
  2. Erstellen Sie eine yourlibraryname.jar.propertiesDatei ( vergessen Sie das nicht.jar ) mit folgendem Inhalt:

     doc=docs
  3. Fügen Sie die Javadocs-Ordner zum libs/Ordner hinzu.

Sie sollten sich die folgende Ordnerstruktur einfallen lassen:

├── 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

Vergessen Sie nicht, das Eclipse-Projekt wie oben beschrieben zu schließen und erneut zu öffnen ! Hier ist ein Screenshot eines funktionierenden Beispielprojekts, das auf die GoogleAdMobAds-Android-Bibliothek verweist .

GoogleAdMobAds Android-Bibliothek Eclipse-Projekt


7
Ahhh, es war das Schließen und Wiedereröffnen des Eclipse-Projekts, das für mich erforderlich war. (Ich hatte mehrmals ohne Glück zuvor aufgefrischt und gereinigt.)
Steve Haley

4
Danke @JJD, das hat super funktioniert. Ich musste Eclipse nur neu starten, bevor es funktionierte.
Javajavajavajavajava

26
Hinweis: Sie wirklich sollte die Javadoc und Quelle JARs in ein Unterverzeichnis setzen, zB „./libs/docs“, sonst werden diese JAR - Dateien in Ihre APK gebündelt werden! Außerdem können Sie Javadoc nicht für mehrere Bibliotheken einschließen, da das Erstellen des APK fehlschlägt, wenn doppelte HTML-Dateien gefunden werden.
Christopher Orr

5
Ist es möglich, aus der .properties-Datei auf ein Remote-Javadoc zu verweisen? So: doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Matthias

9
Anscheinend funktioniert dies nicht, wenn Sie nur das Javadoc und nicht den Quellcode verknüpfen möchten. Ich musste das Javadoc-JAR mit 7zip in einen Ordner in Eigene Dateien extrahieren und dann die Eigenschaftendatei auf den Ordner mit dem Javadoc-Index verweisen lassen .html direkt wie so doc = C: \\ Benutzer \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc
mbwasi

25

Unter Windows müssen Sie den Backslash für Verweise auf doc- und src-Pfade in der Eigenschaftendatei umgehen. Beispiel für android-support-v4.jar ist der Inhalt der Eigenschaftendatei ungefähr so:

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

1
Wow, deine Antwort hat mein Problem gelöst, ich habe eine gesetzt, aber wir müssen sagen. Vielen Dank
Arash

17

Eine Antwort kommt von http://code.google.com/p/android/issues/detail?id=27490#c21

In Ihrem libs-Ordner müssen Sie Folgendes haben:

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

Und in deine foo.jar.properties, einfach gesagtdoc=./doc/foo_doc

Möglicherweise müssen Sie Ihr Projekt aktualisieren, bereinigen, schließen und erneut öffnen.

Für mich geht das!


Wenn Sie Dokumente in der Zip-Datei haben, ist dies der richtige Weg, vielen Dank! Daumen hoch
Akhil Jain

10

Ich habe all das ausprobiert und keiner von ihnen hat für mich funktioniert. Ich habe eine Methode gefunden, die immer funktioniert. Grundsätzlich ist der Schuldige die Art und Weise, wie das ADT den Ordner "libs" behandelt, sodass ich die Verwendung des Ordners "libs" beende. Stattdessen habe ich einen "Bibliotheken" -Ordner erstellt und verwendet.

Sie können Folgendes tun und es wird immer funktionieren - auch wenn das ADT in Zukunft ändern sollte, wie es den Umgang mit dem Ordner "libs" ändert:

  1. Erstellen Sie einen "Bibliotheken" -Ordner.
  2. Erstellen Sie darunter für jede Bibliothek einen Unterordner.
  3. Legen Sie alle Dateien für jede Bibliothek in den entsprechenden Ordner (Java-JAR-Datei, Quell-JAR-Datei, Javadoc-JAR-Datei usw.).
  4. Fügen Sie die Java-JAR-Datei für jedes Projekt auf der Registerkarte "Bibliotheken" für den Java-Erstellungspfad hinzu, indem Sie auf die Add Jars...Schaltfläche klicken , um die JAR-Datei aus dem Unterordner "Bibliothek" im Ordner "Bibliotheken" hinzuzufügen.
  5. Fügen Sie die Quelle / Javadocs jedem Projekt hinzu, indem Sie das Projekt auf der Registerkarte "Bibliotheken" öffnen, das gewünschte Element auswählen und auf die Edit...Schaltfläche klicken , um die Quelle / Javadocs aus dem Unterordner "Bibliothek" im Ordner "Bibliotheken" hinzuzufügen.
  6. Aktivieren Sie das Kontrollkästchen für jedes Projekt auf der Registerkarte "Bestellen und Exportieren" für den Java-Erstellungspfad.
  7. Nachdem Sie überprüft haben, dass alle Bibliotheken verschoben wurden, löschen Sie den Ordner "libs".

Wenn Sie wie oben beschrieben vorgehen, verfügt Ihr Projekt über Ordner, die folgendermaßen aussehen:

Geben Sie hier die Bildbeschreibung ein

Ihr Java Build Path sieht ungefähr so ​​aus:

Geben Sie hier die Bildbeschreibung ein

In Reihenfolge und Export sind die Bibliotheken angekreuzt:

Geben Sie hier die Bildbeschreibung ein


5

Verschieben Sie vorerst die Bibliothek, in die Javadoc gehen soll lib. Sie fügen diese Bibliothek hinzu Build Pathund fügen den Javadoc hinzu.

Überprüfen Sie diesen Kommentar in den Android-Problemen.


Vergessen Sie nicht (wie ich), die Reihenfolge zu überprüfen und die Bibliothek so einzustellen, dass sie in die exportiert wird Build Path.
Carlos Sobrinho

4

Auf ADT 22 konnte ich nicht auf Javadoc für commons-io-2.4.jar und android-support-v4.jar zugreifen

So habe ich es behoben:

  1. Voraussetzung: Beide Bibliotheken sind unter "Referenzierte Bibliotheken" aufgeführt.

  2. Klicken Sie mit der rechten Maustaste auf commons-io-2.4.jar und wählen Sie Eigenschaften. Dieses Fenster erscheint:

Geben Sie hier die Bildbeschreibung ein

commons-io-2.4.jar wird mit commons-io-2.4-javadoc.jar gebündelt, daher habe ich Javadoc im externen Dateipfad des Archivs angegeben.

Ich habe dasselbe für die Support-Bibliothek getan: Klicken Sie mit der rechten Maustaste auf android-support-v4.jar und wählen Sie Eigenschaften. Dieser Bildschirm erscheint:

Geben Sie hier die Bildbeschreibung ein

Diesmal habe ich den Pfad zum Quellverzeichnis angegeben.


Dies ist bei weitem die einfachste und direkteste Methode, um ein Javadoc und / oder ein src an eine Bibliothek anzuhängen. Vielen Dank! Als zusätzliche Anmerkung müssen sich weder der Javadoc noch der src in der referenzierten Bibliothek befinden.
Silber

3

Der Bibliotheksverweis auf commons-io-2.0.1.jar wurde beim Upgrade auf SDK Tools und ADT Revision 17 beschädigt.

Um das Problem zu beheben, habe ich Projekt -> Eigenschaften -> Java-Erstellungspfad verwendet und die Registerkarte Bibliotheken ausgewählt. Ich habe alle Verweise auf commons-io-2.0.1.jar gelöscht und dann Add Jar verwendet, um commons-io-2.0.1.jar erneut zum Projekt hinzuzufügen. Dann klicke ich auf den Pfeil '>' neben dem Bibliotheksnamen, um die Bibliotheksreferenz zu erweitern, und habe die Bearbeitungsschaltflächen verwendet, um den Quellanhang und den Javadoc-Speicherort festzulegen.

Entschuldigung, ich kann kein Bild posten, da ich nicht genug Repräsentanten habe (bitte ...).


Hat bei mir nicht funktioniert. Wo haben Sie die JAR-Datei in Ihrem Projekt aufbewahrt? Ich habe meine im libs-Ordner.
Daniel Ryan

Endlich gab jemand eine Anweisung, die tatsächlich funktionierte! Vielen Dank. Keine der oben genannten Methoden, einschließlich der Datei ".properties", hat mir etwas gebracht, aber das Hinzufügen der Bibliothek als externe JAR im Dialogfeld hat den Job erledigt.
AlxDroidDev

1

Scheint ein sich bewegendes Ziel zu sein, aber nachdem man an vielen Orten Kleinigkeiten gesammelt hat (einschließlich Antworten auf genau diese Frage, die geholfen hat, aber nicht alle notwendigen Details beschrieben hat, oder vielleicht hat sich das System in der Zwischenzeit leicht geändert), scheint dies zu sein die Lösung, zumindest ab sofort (28. August 2013).

  • Öffne irgendwo keinen Ordner für deine Javadocs in Ihrem Projekt befindet.
  • Legen Sie Ihre Javadocs dort entpackt, in einen eigenen Ordner.
  • Fügen Sie in Ihrem libOrdner eine hinzuxxx.jar.properties Datei für jede Bibliothek hinzu, der Sie ein Javadoc zuordnen möchten.
  • Verweisen Sie in dieser Eigenschaftendatei auf den Ordner , in den Sie das entsprechende Javadoc entpackt haben (unter Windows können Sie die Backslashes umgehen):

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

  • Schließen Sie Ihr Projekt und öffnen Sie es erneut in Eclipse (eine Aktualisierung reicht nicht aus). Sie sollten jetzt die QuickInfos sehen, wenn Sie mit der Maus über die entsprechenden Klassen fahren.

Wenn Sie einen dieser Schritte nicht beachten (das Javadoc nicht entpacken, auf eine Datei anstelle eines Ordners verweisen usw.), scheint dies zu scheitern.


1

Ich weiß, dass diese Frage ziemlich alt ist, aber als ich gestern vor dem gleichen Problem stand und die oben angegebene Lösung für mich viel zu ärgerlich war, fand ich heraus, dass man der .classpath-Datei des Projekts leicht eine Quellpfaddefinition hinzufügen kann. Eclipse passt es dann an und Sie können die Quelle durchsuchen.

Klassenpfadeintrag vor:

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

Nach dem Hinzufügen des Pfads zur Quelle

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

Hoffe das hilft


0

Aktualisieren Sie einfach das ADT-Plugin. Das hat bei mir funktioniert !!

  1. Starten Sie Eclipse und wählen Sie dann Hilfe> Neue Software installieren.
  2. Klicken Sie oben rechts auf Hinzufügen.
  3. Geben Sie im angezeigten Dialogfeld "Repository hinzufügen" "ADT-Plugin" als Namen und die folgende URL als Speicherort ein: https://dl-ssl.google.com/android/eclipse/ Hinweis: Für die Update-Site für Android Developer Tools ist a erforderlich sichere Verbindung. Stellen Sie sicher, dass die von Ihnen eingegebene URL der Aktualisierungssite mit HTTPS beginnt.
  4. OK klicken. Aktivieren Sie im Dialogfeld Verfügbare Software das Kontrollkästchen neben Entwicklertools und klicken Sie auf Weiter.
  5. Im nächsten Fenster sehen Sie eine Liste der herunterzuladenden Tools. Weiter klicken.
  6. Lesen und akzeptieren Sie die Lizenzvereinbarungen und klicken Sie dann auf Fertig stellen.
  7. Wenn Sie eine Sicherheitswarnung erhalten, die besagt, dass die Authentizität oder Gültigkeit der Software nicht festgestellt werden kann, klicken Sie auf OK.
  8. Starten Sie Eclipse nach Abschluss der Installation neu

Hoffentlich hilft das!


0

Wenn Sie für ein bestimmtes JAR die Javadoc-Hilfe in der QuickInfo beim Codieren sehen möchten, gehen Sie wie folgt vor: Klicken Sie mit der rechten Maustaste auf Ihr Projekt> Eigenschaften> Java-Erstellungspfad> Registerkarte Bibliotheken. Klicken Sie auf den Pfeil neben Ihrem Glas, um es zu erweitern.

Der Quellanhang sollte auf den Speicherort des tatsächlichen JARs verweisen (wahrscheinlich direkt in Ihrem Java-Ordner).

Javadoc-Speicherort : Hier haben Sie zwei Möglichkeiten: URL und Archiv. Wenn Ihre Javadocs für dieses JAR die Form eines Ordners haben, der eine index.html enthält auf der ersten Ebene Datei , wählen Sie "Javadoc-URL" und zeigen Sie auf diesen Ordner. Wenn sich Ihre Javadocs in einem Glas befinden, wählen Sie "Javadoc im Archiv" und zeigen Sie auf das Glas. Vergessen Sie nicht, Ihren Arbeitsbereich neu zu starten / zu schließen und Ihr Projekt erneut zu öffnen, um den Tooltip mit den Javadoc-Informationen zu aktualisieren.

Ich hoffe, dies hilft, eine einfache Antwort auf das zu geben, was meiner Meinung nach eine sehr einfache Aufgabe sein sollte.


0

Meine Lösung:

Laden Sie ein Eclipse-Plugin mit dem Namen "Java Source Attacher Feature" herunter.

Wählen Sie später ein Glas aus und hängen Sie den Quellcode mit diesem Plugin an. Klicken Sie mit der rechten Maustaste in die JAR-Datei, um sie auszuwählen, und wählen Sie dann "Java-Quelle anhängen".

Wenn Sie den Quellcode haben, haben Sie automatisch den Javadoc.

Jetzt können Sie F2 über den Klassen verwenden, um das zugeordnete Javadoc anzuzeigen.

Genießen

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.