¿Cómo adjuntar javadoc o fuentes a frascos en la carpeta libs?

254

La nueva versión del complemento ADT r17 para Eclipse agregó la función para configurar automáticamente las dependencias JAR. Cualquier archivo .jar en la carpeta / libs se agrega a la configuración de compilación ahora. Lamentablemente, el contenedor classpath de dependencias de Android no se puede modificar.

Classpath de dependencias de Android no modificable

¿Cómo puedo adjuntar javadoc y fuentes al .jar insertado automáticamente (desde la carpeta / libs)?

Sergii Pechenizkyi
fuente
No creo que tu pregunta haya sido respondida. La respuesta aceptada de Mark da exactamente lo que usted pidió NO ser la solución. ¿Cómo podemos adjuntar javadoc y fuentes a través de las bibliotecas automáticas (no a través de tarros manuales)?
pjv
2
Hay un problema con este código de error.google.com/p/android/issues/detail?id=27490#c21 . El comentario 21 dice que adjuntar fuentes / javadoc será posible en ADT r20 con un archivo .properties java estándar (foo.jar -> foo.jar.properties) que le permite editar la ruta relativa o absoluta a la carpeta fuente (o archivo) y / o ruta relativa o absoluta al javadoc.
Sergii Pechenizkyi

Respuestas:

401

La mejor manera de responder a su pregunta es resumir las respuestas de Xavier , plastiv , VinceFR y Christopher .

Guía paso por paso

Para vincular las fuentes y javadoc a una biblioteca .jar que Eclipse vincula automáticamente, debe hacer lo siguiente:

  1. Coloque el archivo .jar de la biblioteca en la carpeta libs y los archivos .jar y doc .jar de origen asociados en subcarpetas separadas como libs / src y libs / docs . Puede usar un nombre que no sea src y docs si lo desea, pero es importante que los archivos .jar no estén directamente en la carpeta libs .
  2. Cree un .propertiesarchivo en la carpeta libs con el nombre exacto de la biblioteca real .jar (ver ejemplo). Asegúrate de mantener la parte .jar .
  3. Especifique las rutas relativas a las fuentes y javadoc .jar en el .propertiesarchivo.
  4. ¡Cierra y vuelve a abrir el proyecto Eclipse! Opcionalmente, actualice el proyecto presionando F5.
  5. Seleccione un objeto de la biblioteca vinculada en el código fuente.
  6. Abra la vista Javadoc en Eclipse para verificar la documentación (ver captura de pantalla).
  7. Abra la declaración del código fuente (acceso directo predeterminado:) F3del objeto seleccionado.


Ejemplo

El ejemplo usa la biblioteca Gson .

Estructura del directorio de la carpeta 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

Contenido de gson-2.2.2.jar.properties

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


Información Adicional

Por supuesto, puede mover el javadoc y las fuentes .jar a otras carpetas y especificar rutas relativas. Eso depende de usted. Es posible colocar los archivos fuente y javadoc directamente en la carpeta lib, pero no se recomienda , ya que eso hace que la documentación y el código fuente se incluyan en su aplicación .


Captura de pantalla del panel Eclipse JavaDoc:

Vista JavaDoc en Eclipse

Captura de pantalla de un proyecto Eclipse usando Gson con Android 4.2.2 .:

Captura de pantalla del proyecto de prueba de Eclipse


Referencia a javadocs desempaquetados

En caso de que desee hacer referencia a javadocs que no se proporcionan como paquete .jarsino simplemente como archivos y carpetas, como lo solicitó el desarrollador de Android en los comentarios, haga lo siguiente:

  1. Coloque la biblioteca .jaren ellibs/ carpeta.
  2. Cree un yourlibraryname.jar.propertiesarchivo ( no olvide.jar ) con el siguiente contenido:

     doc=docs
  3. Agregue las carpetas javadocs a la libs/carpeta.

Debería tener la siguiente estructura de carpetas:

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

¡No olvide cerrar y volver a abrir el proyecto Eclipse como se mencionó anteriormente! Aquí hay una captura de pantalla de un proyecto de trabajo que hace referencia a la biblioteca de Android GoogleAdMobAds .

Proyecto Eclipse de la biblioteca de Android GoogleAdMobAds

JJD
fuente
77
Ahhh, fue el cierre y reapertura del proyecto Eclipse lo que se requirió para mí. (Me había refrescado y limpiado varias veces sin suerte antes de eso.)
Steve Haley
44
Gracias @JJD que funcionó muy bien. Solo tuve que reiniciar Eclipse antes de que comenzara a funcionar.
javajavajavajavajava
26
Nota: Usted realmente debe poner los archivos JAR y Javadoc de origen en un subdirectorio, por ejemplo, "./libs/docs", de lo contrario estos recipientes se incluirá en el archivo APK! Además, no podrá incluir Javadoc para varias bibliotecas, ya que la creación del APK fallará cuando encuentre archivos HTML duplicados.
Christopher Orr
55
¿Es posible hacer referencia a un javadoc remoto desde el archivo .properties? Así: doc = community.versant.com/documentation/reference/db4o-8.0/java/api
Matthias
99
Aparentemente, esto no funciona si solo va a vincular el Javadoc y no el código fuente, tuve que extraer el frasco de Javadoc con 7zip a una carpeta en Mis documentos, luego hacer que el archivo de propiedades apunte a la carpeta con el índice Javadoc .html directamente como doc = C: \\ Users \\ johny \\ workspacenewfb \\ robotium-solo-4.0-javadoc
mbwasi
25

En Windows, debe escapar de la barra diagonal inversa para obtener referencias a las rutas doc y src en el archivo de propiedades. Ejemplo, para android-support-v4.jar, el contenido del archivo de propiedades es algo como:

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
fuente
1
wow tu respuesta resolvió mi problema, puse uno \ pero debemos poner \\. muchas graciash
Arash
17

Una respuesta proviene de http://code.google.com/p/android/issues/detail?id=27490#c21

En su carpeta libs, debe tener:

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

Y en tu foo.jar.properties, solo pondoc=./doc/foo_doc

Tal vez tendrá que actualizar su proyecto, limpiarlo, cerrarlo y volver a abrirlo.

¡Esto funciona para mi!

VinceFR
fuente
Si tienes documentos en un archivo zip, este es el camino a seguir, ¡muchas gracias! aprobado
Akhil Jain
10

Intenté todo lo anterior y ninguno de ellos funcionó para mí. Descubrí un método que siempre funcionará. Básicamente, el culpable es la forma en que el ADT trata la carpeta "libs", así que dejé de usar la carpeta "libs". En su lugar, creé una carpeta de "bibliotecas" y la usé.

Puede hacer lo siguiente y siempre funcionará, incluso si el ADT debe cambiar la forma en que cambia la forma en que trata la carpeta "libs" en el futuro:

  1. Crear una carpeta de "bibliotecas".
  2. Cree una subcarpeta debajo de ella para cada biblioteca.
  3. Coloque todos los archivos para cada biblioteca en la carpeta apropiada (archivo jar de java, archivo jar de origen, archivo jar de javadoc, etc.).
  4. Agregue el archivo jar de Java para cada proyecto en la pestaña "Bibliotecas" para la Ruta de compilación de Java haciendo clic en el Add Jars... botón para agregar el jar de la subcarpeta de la biblioteca en la carpeta "bibliotecas".
  5. Adjunte la fuente / javadocs a cada proyecto abriendo el proyecto en la pestaña "Bibliotecas", seleccionando el elemento deseado y haciendo clic en el Edit...botón para agregar la fuente / javadocs de la subcarpeta de la biblioteca en la carpeta "bibliotecas".
  6. Marque la casilla de verificación para cada proyecto en la pestaña "Ordenar y Exportar" para la Ruta de compilación de Java.
  7. Después de verificar que todas las bibliotecas se hayan movido, elimine la carpeta "libs".

Siguiendo el procedimiento anterior, su proyecto tendrá carpetas que se verán así:

ingrese la descripción de la imagen aquí

Su Java Build Path se verá así:

ingrese la descripción de la imagen aquí

En Orden y Exportar, las bibliotecas están marcadas:

ingrese la descripción de la imagen aquí

Danny Remington - OMS
fuente
5

Por ahora, mueva la biblioteca a la que desea Javadoc lib. Ellos agregan esa biblioteca al Build Pathy agregan el Javadoc.

Consulte este comentario en los problemas de Android.

Carlos Sobrinho
fuente
No olvide (como lo hice) verificar el orden y configurar la biblioteca para exportar en el Build Path.
Carlos Sobrinho
4

En ADT 22 no pude acceder a Javadoc para commons-io-2.4.jar y android-support-v4.jar

Así es como lo arreglé:

  1. Condición previa: ambas bibliotecas se enumeran en "Bibliotecas referenciadas".

  2. Haga clic derecho en commons-io-2.4.jar y seleccione Propiedades. Esta ventana aparece:

ingrese la descripción de la imagen aquí

commons-io-2.4.jar se incluye con commons-io-2.4-javadoc.jar, por lo que especifiqué el Javadoc en la ruta del archivo externo del archivo.

Hice lo mismo para la biblioteca de soporte: haga clic derecho en android-support-v4.jar y seleccione Propiedades. Esta pantalla aparece:

ingrese la descripción de la imagen aquí

Esta vez especifiqué la ruta al directorio de origen.

Javide
fuente
Este es, con mucho, el método más fácil y directo para adjuntar un javadoc y / o src a una biblioteca. ¡Gracias! Como nota adicional, ni el javadoc ni el src deben estar en la Biblioteca de referencia.
plata
3

La referencia de la biblioteca a commons-io-2.0.1.jar se rompió cuando actualicé a SDK Tools y ADT revisión 17.

Para resolver el problema, utilicé Proyecto -> Propiedades -> Ruta de compilación de Java y seleccioné la pestaña Bibliotecas. Eliminé cualquier referencia a commons-io-2.0.1.jar y luego usé Add Jar para volver a agregar commons-io-2.0.1.jar al proyecto. Luego hago clic en la flecha '>' junto al nombre de la biblioteca para expandir la referencia de la biblioteca y utilicé los botones de edición para establecer el archivo adjunto de origen y la ubicación de Javadoc.

Lo siento, no puedo publicar una imagen ya que no tengo suficiente representante (por favor ...).

Mark Gittoes
fuente
No funciono para mi. ¿Dónde guarda el archivo jar en su proyecto? Tengo el mío en la carpeta libs.
Daniel Ryan
¡Finalmente alguien dio una instrucción que realmente funcionó! Muchas gracias. Ninguno de los métodos mencionados, incluido el archivo ".properties", me sirvió, pero esto al agregar la biblioteca como un JAR externo en la pantalla de diálogo hizo el trabajo.
AlxDroidDev
1

Parece ser un objetivo en movimiento pero, después de haber recogido fragmentos de muchos lugares (incluidas las respuestas a esta misma pregunta que ayudó pero no describió todos los detalles necesarios, o tal vez el sistema había cambiado ligeramente mientras tanto), parece ser la solución, al menos a partir de ahora (28 de agosto de 2013).

  • Abra una carpeta para sus javadocs en algún lugar que no esté dentro de su proyecto.
  • Pon tus javadocs allí descomprimidos, cada uno en su propia carpeta.
  • Dentro de su libcarpeta, agregue un xxx.jar.propertiesarchivo para cada lib con la que quiera asociar un javadoc.
  • En ese archivo de propiedades, consulte la carpeta en la que descomprimió el javadoc apropiado (en Windows, escape de las barras invertidas):

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

  • Cierre y vuelva a abrir su proyecto en Eclipse (actualizar no es suficiente). Ahora debería ver la información sobre herramientas al pasar el mouse sobre las clases apropiadas.

No observar ninguno de estos pasos (no descomprimir el javadoc, hacer referencia a un archivo en lugar de una carpeta, etc.) parece romperlo.

Gábor
fuente
1

Sé que esta pregunta es bastante antigua, pero cuando enfrenté el mismo problema ayer y la solución publicada anteriormente fue demasiado molesta para mí, descubrí que uno puede agregar fácilmente una definición de ruta de origen al archivo .classpath del proyecto. Eclipse lo adaptará y podrás navegar por la fuente.

entrada de classpath antes:

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

Después de agregar la ruta a la fuente

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

Espero que esto ayude

Krinklesaurus
fuente
0

solo actualice el complemento ADT. ¡Eso funcionó para mí!

  1. Inicie Eclipse, luego seleccione Ayuda> Instalar nuevo software.
  2. Haga clic en Agregar, en la esquina superior derecha.
  3. En el cuadro de diálogo Agregar repositorio que aparece, ingrese "Complemento ADT" para el Nombre y la siguiente URL para la Ubicación: https://dl-ssl.google.com/android/eclipse/ Nota: El sitio de actualización de Herramientas para desarrolladores de Android requiere un conexión segura. Asegúrese de que la URL del sitio de actualización que ingrese comience con HTTPS.
  4. Haga clic en Aceptar. En el cuadro de diálogo Software disponible, seleccione la casilla de verificación junto a Herramientas para desarrolladores y haga clic en Siguiente.
  5. En la siguiente ventana, verá una lista de las herramientas que se descargarán. Haga clic en Siguiente.
  6. Lea y acepte los acuerdos de licencia, luego haga clic en Finalizar.
  7. Si recibe una advertencia de seguridad que dice que no se puede establecer la autenticidad o validez del software, haga clic en Aceptar.
  8. Cuando finalice la instalación, reinicie Eclipse

¡Espero que ayude!

akshay
fuente
0

Para cualquier jar dado, si desea ver la ayuda de Javadoc sobre la información sobre herramientas mientras codifica, haga lo siguiente: Haga clic con el botón derecho en su proyecto> Propiedades> Ruta de compilación de Java> pestaña Bibliotecas. Haga clic en la flecha al lado de su frasco para expandir.

El archivo adjunto de origen debe apuntar a la ubicación del jar real (probablemente justo en su carpeta java).

Ubicación de Javadoc : tiene dos opciones aquí: URL y archivo. Si sus javadocs para este jar tienen la forma de una carpeta que contiene un index.html archivo en el primer nivel, elija 'URL Javadoc' y apunte a esa carpeta. Si sus javadocs están en un jar, elija 'Javadoc en el archivo' y apunte al jar. No olvide reiniciar su espacio de trabajo / cerrar y volver a abrir su proyecto para actualizar la información sobre herramientas con la información Javadoc.

Espero que esto ayude a dar una respuesta simple para lo que creo que debería ser una tarea muy simple.

Casey Murray
fuente
0

Mi solución:

Descargue un complemento de eclipse llamado: "Característica de Java Source Attacher".

Más tarde, seleccione un jar y adjunte el código fuente usando este complemento. Haga clic en el archivo jar para seleccionarlo, con el botón derecho del mouse y luego seleccione "adjuntar fuente java".

Cuando tienes el código fuente tienes automáticamente el javadoc.

Ahora puede usar F2 sobre las clases para ver el javadoc asociado.

Disfrutar

Antonio Martin
fuente