Come collegare javadoc o fonti ai barattoli nella cartella libs?


254

Nuova versione del plug-in ADT r17 per Eclipse aggiunta funzionalità per impostare automaticamente le dipendenze JAR. Tutti i file .jar nella cartella / libs vengono ora aggiunti alla configurazione della build. Sfortunatamente il contenitore classpath delle dipendenze Android non è modificabile.

Percorso di classe delle dipendenze Android non modificabile

Come posso collegare javadoc e fonti al file .jar inserito automaticamente (dalla cartella / libs)?


Non credo che la tua domanda abbia avuto risposta. La risposta accettata da Mark dà esattamente quello che hai chiesto di NON essere la soluzione. Come possiamo collegare javadoc e fonti tramite le librerie automatiche (non tramite barattoli manuali)?
pjv,

2
Si è verificato un problema per questo bug code.google.com/p/android/issues/detail?id=27490#c21 . Il commento 21 afferma che allegare fonti / javadoc sarà possibile in ADT r20 con un file java .properties standard (foo.jar -> foo.jar.properties) che consente di modificare il percorso relativo o assoluto della cartella di origine (o dell'archivio) e / o percorso relativo o assoluto al javadoc.
Sergii Pechenizkyi,

Risposte:


401

Il modo migliore per rispondere alla tua domanda è riassumere le risposte di Xavier , Plastiv , VinceFR e Christopher .

Guida passo passo

Per collegare i sorgenti e javadoc a una libreria .jar che è automaticamente collegata da Eclipse devi fare quanto segue:

  1. Posizionare il file .jar della libreria nella cartella libs e i file .jar e doc .jar di origine associati in sottocartelle separate come libs / src e libs / docs . Se lo desideri, puoi usare un nome diverso da src e docs , ma è importante che i file .jar non siano direttamente nella cartella libs .
  2. Crea un .propertiesfile nella cartella libs con il nome esatto della libreria .jar (vedi esempio). Assicurati di mantenere la parte .jar .
  3. Specificare i percorsi relativi alle fonti e javadoc .jar nel .propertiesfile.
  4. Chiudi e riapri il progetto Eclipse! Facoltativamente, aggiornare il progetto premendo F5.
  5. Seleziona un oggetto della libreria collegata nel codice sorgente.
  6. Apri la vista Javadoc in Eclipse per controllare la documentazione (vedi screenshot).
  7. Apri la dichiarazione del codice sorgente (scorciatoia predefinita:) F3dell'oggetto selezionato.


Esempio

L'esempio utilizza la libreria Gson .

Struttura della directory della cartella 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

Contenuto di gson-2.2.2.jar.properties

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


Informazioni aggiuntive

Ovviamente puoi spostare javadoc e i sorgenti .jar in altre cartelle e specificare percorsi relativi. Dipende da te. Posizionare i barattoli sorgente e javadoc direttamente nella cartella lib è possibile ma non raccomandato , in quanto ciò fa sì che la documentazione e il codice sorgente vengano inclusi nell'applicazione .


Schermata del pannello Eclipse JavaDoc:

Vista JavaDoc in Eclipse

Schermata di un progetto Eclipse utilizzando Gson con Android 4.2.2 .:

Schermata del progetto di test Eclipse


Riferendosi a javadocs non imballati

Nel caso in cui desideri fare riferimento a javadocs che non sono forniti come pacchetti .jarma semplicemente come file e cartelle come richiesto dallo sviluppatore Android nei commenti, procedi come segue:

  1. Posiziona la libreria .jarnella libs/cartella
  2. Crea un yourlibraryname.jar.propertiesfile ( non dimenticare di.jar ) con il seguente contenuto:

     doc=docs
  3. Aggiungi le cartelle javadocs alla libs/cartella.

Dovresti trovare la seguente struttura di cartelle:

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

Non dimenticare di chiudere e riaprire il progetto Eclipse come menzionato sopra! Ecco uno screenshot di un progetto di esempio funzionante che fa riferimento alla libreria Android di GoogleAdMobAds .

GoogleAdMobAds Progetto Eclipse per la libreria Android


7
Ahhh, è stata la chiusura e la riapertura del progetto Eclipse che mi è stata richiesta. (Mi ero rinfrescato e pulito più volte senza fortuna prima.)
Steve Haley,

4
Grazie @JJD che ha funzionato benissimo. Ho dovuto semplicemente riavviare Eclipse prima che iniziasse a funzionare.
javajavajavajavajava

26
Nota: È davvero dovrebbe mettere i JAR Javadoc e di origine in una sottodirectory, ad esempio "./libs/docs", altrimenti questi vasi saranno in bundle nella vostra APK! Inoltre, non sarai in grado di includere Javadoc per più librerie, poiché la creazione dell'APK non riuscirà quando trova file HTML duplicati.
Christopher Orr,

5
È possibile fare riferimento a un javadoc remoto dal file .properties? In questo modo: doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Matthias

9
Apparentemente questo non funziona se hai intenzione di collegare solo Javadoc e non il codice sorgente, ho dovuto estrarre il vaso Javadoc con 7zip in una cartella in I miei documenti, quindi avere il file delle proprietà puntare alla cartella con l'indice Javadoc .html direttamente come così doc = C: \\ Users \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc
mbwasi

25

Su Windows devi evitare la barra rovesciata per i riferimenti ai percorsi doc e src nel file delle proprietà. Esempio, per android-support-v4.jar il contenuto del file delle proprietà è simile a:

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 la tua risposta ha risolto il mio problema, ne ho messo uno \ ma dobbiamo mettere \\. grazie mille
Arash,

17

Una risposta arriva da http://code.google.com/p/android/issues/detail?id=27490#c21

Nella tua cartella libs, devi avere:

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

E nel tuo foo.jar.properties , basta metteredoc=./doc/foo_doc

Forse dovrai aggiornare il tuo progetto, pulirlo, chiuderlo e riaprirlo.

Per me funziona!


Se hai documenti nel file zip, questa è la strada da percorrere, grazie mille !! pollice in alto
Akhil Jain,

10

Ho provato tutto quanto sopra e nessuno di loro ha funzionato per me. Ho capito un metodo che funzionerà sempre. Fondamentalmente, il colpevole è il modo in cui l'ADT tratta la cartella "libs", quindi ho smesso di usare la cartella "libs". Invece ho creato una cartella "librerie" e l'ho usata.

Puoi fare quanto segue e funzionerà sempre, anche se ADT dovrebbe cambiare il modo in cui cambia il modo in cui gestisce la cartella "libs" in futuro:

  1. Crea una cartella "librerie".
  2. Crea una sottocartella per ogni libreria.
  3. Metti tutti i file per ciascuna libreria nella cartella appropriata (file jar java, file jar sorgente, file jar javadoc, ecc.).
  4. Aggiungere il file jar Java per ciascun progetto nella scheda "Librerie" per il percorso di compilazione Java facendo clic sul Add Jars...pulsante per aggiungere il jar dalla sottocartella della libreria nella cartella "librerie".
  5. Allegare source / javadocs a ciascun progetto aprendo il progetto nella scheda "Librerie", selezionando l'elemento desiderato e facendo clic sul Edit...pulsante per aggiungere l'origine / javadocs dalla sottocartella della libreria nella cartella "librerie".
  6. Seleziona la casella di controllo per ciascun progetto nella scheda "Ordina ed esporta" per Java Build Path.
  7. Dopo aver verificato che tutte le librerie sono state spostate, eliminare la cartella "libs".

Seguendo la procedura sopra descritta, il progetto avrà cartelle simili a questa:

inserisci qui la descrizione dell'immagine

Il tuo Java Build Path sarà simile a questo:

inserisci qui la descrizione dell'immagine

In Ordine ed Esporta le librerie sono spuntate:

inserisci qui la descrizione dell'immagine


5

Per ora, sposta la libreria in cui desideri Javadoc lib. Aggiungono quella libreria Build Pathe aggiungono Javadoc.

Controlla questo commento nei problemi di Android.


Non dimenticare (come ho fatto io) di controllare l'ordine e impostare la libreria per l'esportazione in Build Path.
Carlos Sobrinho,

4

Su ADT 22 non ho potuto accedere a Javadoc sia per commons-io-2.4.jar che per android-support-v4.jar

Questo è il modo in cui l'ho risolto:

  1. Presupposto: entrambe le librerie sono elencate sotto "Biblioteche referenziate".

  2. Fare clic con il tasto destro su commons-io-2.4.jar e selezionare Proprietà. Questa finestra appare:

inserisci qui la descrizione dell'immagine

commons-io-2.4.jar è in bundle con commons-io-2.4-javadoc.jar, quindi ho specificato Javadoc nel percorso del file esterno di archivio.

Ho fatto la stessa cosa per la libreria di supporto: fare clic con il tasto destro su android-support-v4.jar e selezionare Proprietà. Questa schermata appare:

inserisci qui la descrizione dell'immagine

Questa volta ho specificato il percorso della directory di origine.


Questo è di gran lunga il metodo più semplice e diretto per collegare un javadoc e / o src a una libreria. Grazie! Come nota aggiuntiva, né javadoc né src devono trovarsi nella Libreria di riferimenti.
argento,

3

Il riferimento alla libreria commons-io-2.0.1.jar è stato interrotto quando ho eseguito l'aggiornamento a SDK Tools e ADT revisione 17.

Per risolvere il problema ho usato Progetto -> Proprietà -> Percorso build Java e ho selezionato la scheda Librerie. Ho eliminato qualsiasi riferimento a commons-io-2.0.1.jar e quindi ho usato Aggiungi Jar per aggiungere nuovamente commons-io-2.0.1.jar al progetto. Quindi faccio clic sulla freccia ">" accanto al nome della libreria per espandere il riferimento della libreria e ho usato i pulsanti di modifica per impostare l'allegato sorgente e la posizione Javadoc.

Spiacenti, non posso pubblicare un'immagine perché non ho abbastanza rappresentante (per favore ...).


Non ha funzionato per me. Dove hai conservato il file jar nel tuo progetto? Ho il mio nella cartella libs.
Daniel Ryan,

Finalmente qualcuno ha dato un'istruzione che ha funzionato davvero! Grazie mille. Nessuno dei metodi summenzionati, incluso il file ".properties", ha funzionato bene per me, ma ciò ha aggiunto il fatto di aggiungere la libreria come JAR esterno nella schermata di dialogo.
AlxDroidDev,

1

Sembra essere un bersaglio mobile ma, dopo aver raccolto frammenti da molti luoghi (comprese le risposte a questa stessa domanda che ha aiutato ma non è riuscito a descrivere tutti i dettagli necessari, o forse il sistema era leggermente cambiato nel frattempo), questo sembra essere la soluzione, almeno fino ad ora (28 agosto 2013).

  • Apri una cartella per i tuoi javadocs da qualche parte non all'interno del tuo progetto.
  • Metti i tuoi javadocs lì decompressi, ognuno nella sua cartella.
  • All'interno della tua libcartella, aggiungi un xxx.jar.propertiesfile per ogni lib a cui vuoi associare un javadoc.
  • In quel file delle proprietà, fai riferimento alla cartella in cui hai decompresso il javadoc appropriato (su Windows, evita le barre rovesciate):

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

  • Chiudi e riapri il tuo progetto in Eclipse (l'aggiornamento non è sufficiente). Ora dovresti vedere le descrizioni dei comandi quando passi con il mouse sopra le classi appropriate.

Non riuscire a osservare nessuno di questi passaggi (non decomprimere javadoc, fare riferimento a un file anziché a una cartella, ecc.) Sembra interromperlo.


1

So che questa domanda è piuttosto vecchia, ma quando ieri ho affrontato lo stesso problema e la soluzione sopra pubblicata era troppo fastidiosa per me, ho scoperto che si può facilmente aggiungere una definizione del percorso di origine al file .classpath del progetto. Eclipse lo adatterà e sarai in grado di navigare attraverso la fonte.

voce classpath prima di:

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

Dopo aver aggiunto il percorso alla fonte

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

Spero che questo ti aiuti


0

basta aggiornare il plug-in ADT. Ha funzionato per me !!

  1. Avviare Eclipse, quindi selezionare Guida> Installa nuovo software.
  2. Fai clic su Aggiungi, nell'angolo in alto a destra.
  3. Nella finestra di dialogo Aggiungi repository visualizzata, inserisci "ADT Plugin" come Nome e il seguente URL per la Posizione: https://dl-ssl.google.com/android/eclipse/ Nota: il sito di aggiornamento degli Strumenti per sviluppatori Android richiede un connessione sicura. Assicurarsi che l'URL del sito di aggiornamento inserito inizi con HTTPS.
  4. Clicca OK. Nella finestra di dialogo Software disponibile, selezionare la casella di controllo accanto a Strumenti per gli sviluppatori e fare clic su Avanti.
  5. Nella finestra successiva, vedrai un elenco degli strumenti da scaricare. Fai clic su Avanti.
  6. Leggere e accettare gli accordi di licenza, quindi fare clic su Fine.
  7. Se ricevi un avviso di sicurezza che dice che non è possibile stabilire l'autenticità o la validità del software, fai clic su OK.
  8. Al termine dell'installazione, riavviare Eclipse

Spero che aiuti!


0

Per ogni dato jar, se desideri visualizzare la guida di Javadoc sulla descrizione comandi durante la codifica, procedi come segue: fai clic con il pulsante destro del mouse sul tuo progetto> Proprietà> Percorso build Java> Scheda Librerie. Fai clic sulla freccia accanto al vaso per espanderlo.

L'allegato di origine dovrebbe puntare alla posizione del barattolo effettivo (probabilmente proprio nella cartella java).

Posizione Javadoc : hai due opzioni qui: URL e archivio. Se i tuoi javadocs per questo vaso sono sotto forma di una cartella contenente un file index.html al primo livello, scegli "URL Javadoc" e punta a quella cartella. Se i tuoi javadocs sono in un barattolo, scegli "Javadoc in archivio" e punta al barattolo. Non dimenticare di riavviare l'area di lavoro / chiudere e riaprire il progetto per aggiornare la descrizione comandi con le informazioni Javadoc.

Spero che questo aiuti a dare una risposta semplice per quello che credo debba essere un compito molto semplice.


0

La mia soluzione:

Scarica un plugin eclipse chiamato: "Java Source Attacher Feature".

Successivamente, seleziona un vaso e allega il codice sorgente usando questo plugin. Fai clic sul file jar per selezionarlo, premi il pulsante destro del mouse, quindi seleziona "allega sorgente java".

Quando hai il codice sorgente hai automaticamente il javadoc.

Ora puoi usare F2 sulle classi per visualizzare il javadoc associato.

Godere

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.