¿Cómo adjunto la fuente de la biblioteca de soporte de Android en Eclipse?

79

Tener el código fuente adjunto a bibliotecas externas es increíble. ¿Dónde encuentro el código fuente del paquete de soporte v4 ? Preferiblemente, sería un archivo zip que podría adjuntarse fácilmente a android-support-v4.jaren Eclipse.

Håvard Geithus
fuente
4
La respuesta de imo @andr es la que se debe aceptar
Amir Uval

Respuestas:

66

Después de descargar el paquete de soporte desde Android SDK Manager, puede encontrar el código fuente del paquete de soporte en la carpeta <android-sdks> / extras / android / support / v4 / src.

Presa de Jacob
fuente
12
En mi caso se almacenó en formato C:\Program Files\Android\android-sdk\extras\android\compatibility\v4\src\java. Luego tomó su contenido (la carpeta androide) un empaquetado para crear en un .jar * con este comando: jar cf android-support-v4-sources.jar android/. Adjunté este jar a android-support-v4.jar (configuración de la biblioteca / ruta de compilación de Java en eclipse). Funciona bien :)
Håvard Geithus
5
Esto no parece funcionar ahora. ¿Cómo puedo hacer que funcione? ayuda Estoy usando ADT 21.1. La fuente doc o java de android-support-v4.jar no es modificable. Haga clic con el botón derecho en el proyecto, Propiedades> Ruta de compilación de Java> Ficha Bibliotecas, Bibliotecas privadas de Android> android-support-v4.jar - Archivo adjunto de origen: (Ninguno) - no modificable. :(
Thupten
3
Ok, lo hice funcionar. La necesidad android-apoyo-v4.jar estar en Referenced Librarieshaciendo clic derecho, Build Path.., Add to Path. Luego Referenced Libraries, haga clic derecho en propiedades en android-support-v4 y configure las fuentes.
Thupten
Esta respuesta responde completamente a la pregunta del OP. Para adjuntarlo a su archivo jar en eclipse, vea la respuesta de @andr
JRomero
@ Thupten, ¿no estás haciendo referencia dos veces cuando una será suficiente?
Pacerier
122

Solo quiero agregar otro método para adjuntar fuentes para la biblioteca de soporte. Requiere ADT en la versión 20 o posterior . Supuestamente, este método funciona para todos los JAR para los que el contenedor deshabilita la configuración de origen / ubicación de javadoc. Esto es lo que debe hacer:

  1. La android-support-v4.jarbiblioteca se encuentra en el libsdirectorio de su proyecto. En ese mismo directorio, cree un archivo de propiedades Java normal con el nombre exactamente igual al JAR en cuestión, pero con la .propertiesextensión añadida . Por lo tanto, para nuestra biblioteca de soporte que va a ser:
    android-support-v4.jar.properties.

  2. Abra el archivo de propiedades creado y establezca el valor de la propiedad con el nombre srcde la ubicación donde se pueden encontrar las fuentes para esa biblioteca. Su archivo debe tener una línea como:

    src=c:/apps/adt-bundle-windows-64bit/sdk/extras/android/support/v4/src
    
  3. Guarda el archivo.

  4. Cierre y vuelva a abrir su proyecto de Android.

  5. Intente navegar a una de las clases de soporte. El archivo adjunto de origen debería funcionar ahora.

Funcionó perfectamente en mi caso.

Una cosa a tener en cuenta: si srcno es una ruta absoluta, se resolverá comenzando en el directorio principal del archivo JAR. Tomando la biblioteca de soporte como ejemplo, si src=support/src, ADT asumirá que las fuentes de la clase están ubicadas en libs/support/src.

Aquí se puede encontrar una breve descripción de esta función escrita por su autor .

Si alguien está interesado en cómo .propertiesse procesa exactamente este archivo, le recomiendo leer el conjunto de parches n. ° 4, especialmente. cambios en eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/ internal/project/LibraryClasspathContainerInitializer.java:)

Editar

Consulte también un buen comentario de WindRider sobre cómo agregar fuentes correctamente en un proyecto con múltiples bibliotecas referenciadas.

andr
fuente
9
Esta es la forma 'oficial' y recomendada de hacerlo.
BoD
10
Tenga en cuenta que si tiene un proyecto grande con múltiples bibliotecas referenciadas que a su vez hacen referencia a la biblioteca de soporte de Android, debe asegurarse de que todas las copias de android-support-v4.jar sean los mismos binarios. De lo contrario, obtendrá un error extraño "La suma de comprobación no coincide bla bla". Además, solo se importará una de estas copias de la biblioteca de soporte, tal vez una contenida en la carpeta lib \ de los proyectos de la biblioteca. Para ver cuál se usa, abra el Explorador de paquetes -> Dependencias de Android y vea de dónde se importa la biblioteca de soporte. Luego, realice el mismo procedimiento no para el proyecto principal, sino para el proyecto de la biblioteca.
WindRider
2
Después de probar algunos de los demás, puedo decir que esta es la mejor respuesta; debería aceptarse como la correcta.
Amir Uval
2
@Simulant: no soy un experto en ActionBar compat lib, pero de un vistazo rápido supongo que para usarlo, debes importarlo como un proyecto Android Lib separado y hacer referencia a él como una dependencia en tu proyecto principal, ¿verdad? Si es así, solo necesita seguir los pasos descritos aquí para el directorio "libs" del proyecto lib . Ese directorio debería tener dos .jararchivos: android-support-v4.jary android-support-v7-appcompat.jarpara el cual debería poder crear los .propertiesarchivos mencionados .
andr
5
Si está usando Windows, asegúrese de usar barras diagonales en la srclínea.
Scutterman
83

Aquí la solución para adjuntar la fuente de la biblioteca de soporte en Eclipse Juno

Supongo que su proyecto ya tiene android-support-v4.jaren su "Ruta de compilación", en "Dependencias de Android", pero no puede adjuntarle el directorio de fuentes. (el "archivo adjunto de la fuente" decía "No modificable"). Solución:

  • Ir a "Configurar ruta de compilación"
  • Agregue JAR externos> YourProject/libs/android-support-v4.jar (sé que su proyecto ya se había referido a él, pero no se preocupe, simplemente agréguelo nuevamente).
  • Expanda el frasco y conecte la fuente al frasco externo: android-sdk/extras/android/support/v4/src
  • Cambie a la pestaña "Solicitar y exportar", levante el contenedor externo encima de "Dependencias de Android"

¡Disfruta navegando por la biblioteca de soporte con fuente!

si tiene un "Proyecto de prueba de Android" adjunto YourProject, es YourProjectTestposible que ya no se compile. En este caso, debe volver a "Solicitar y exportar" y desplegar el contenedor externo debajo de "Dependencias de Android" para que todo vuelva a la normalidad.

Hiep
fuente
2
"Java Build Path" y no "Configuration Build Path" para mí.
user123321
4
¡Esto tenía todos los pasos necesarios y funcionó para mí! El último paso (ordenar) quedó fuera de los demás y fue muy importante.
cottonBallPaws
3
Tenía android-support-v4.jar en la lista de Bibliotecas privadas de Android (APL, que se enumeró arriba de las dependencias de Android), así que tuve que extraer el .jar recién agregado arriba de APL
Kuitsi
1
Para el registro, esto también funciona con otras bibliotecas, no solo con la biblioteca de soporte. / Captain Obvious
Emil Lundberg
2
No debería tener que hacer esto. Va en contra de la configuración inicial de una aplicación estándar de Android. Le recomendaría que utilice la solución "oficial" de @andr.
JRomero
16

Haciendo referencia a la respuesta aceptada, también es posible adjuntar la fuente directamente desde el directorio sin crear un archivo .jar. Desde la pestaña de bibliotecas / ruta de compilación de Java, expanda android-support-v4.jar, resalte "Archivo adjunto de origen", haga clic en "Editar ...", "Carpeta externa ..." y luego apunte a (android-sdk) \ extras \ android \ support \ v4.

Esto fue probado usando eclipse indigo.

De los comentarios:

El problema de no poder agregar la fuente a la biblioteca de soporte parece ocurrir si su biblioteca de soporte se encuentra en la carpeta "Dependencias de Android" de su proyecto. La solución alternativa es desde la misma pestaña "Ruta de compilación / bibliotecas de Java", haga clic en "Agregar JAR externos ..." y busque el archivo .jar en su ruta (android-sdk) \ extras \ android \ support \ v4. A continuación, aparecerá en la configuración de su proyecto en una nueva carpeta "Bibliotecas de referencia".

feliz
fuente
5
Si no tiene el error que no le permite adjuntar fuentes al jar, por supuesto.
Ixx
1
Esto sería genial, pero mi botón "editar" está atenuado: /. ¿Es ese el error que mencionas lxx? ¿Encontraste una solución?
lapso
3
Todo está atenuado, dice "no modificable"
Mister Smith
2
El problema de no poder agregar la fuente a la biblioteca de soporte parece ocurrir si su biblioteca de soporte se encuentra en la carpeta "Dependencias de Android" de su proyecto. La solución alternativa es desde la misma pestaña "Ruta de compilación / bibliotecas de Java", haga clic en "Agregar JAR externos ..." y busque el archivo .jar en su ruta (android-sdk) \ extras \ android \ support \ v4. A continuación, aparecerá en la configuración de su proyecto en una nueva carpeta "Bibliotecas de referencia". Luego, puede adjuntar la fuente a este archivo .jar como se indica en la respuesta original.
happydude
2

Para aquellos a los que les gusta el estándar tener el archivo jar del código fuente, lo que lo hace más conveniente para el control de fuentes y compartir el proyecto.

Por ejemplo:

../android-support-v4.jar
../android-support-v4-src.jar

Es simple crear el archivo jar de origen y adjuntarlo:

  1. cd a ruta_a_android_sdk / extras / android / compatibilidad / v4 /
  2. Utilice su programa zip favorito, como 7-zip, para crear un archivo zip y asígnele el nombre android-support-v4-src.jar. La primera carpeta del frasco debe ser / scr.
  3. Copie el archivo a su proyecto, en este ejemplo está en la misma carpeta que el código jar.
  4. En Eclipse adjunte el jar de origen en las propiedades del proyecto.
Fishjd
fuente
Gracias por tu respuesta. Para crear el archivo jar, también es posible utilizar el programa jar que se incluye en el JDK.
Håvard Geithus
1

Simplemente elimino el generado automáticamente, luego lo agrego manualmente como Bibliotecas de referencia.

Primero abra una clase, el IDE le pedirá que cambie la fuente adjunta.

Hisenberg
fuente
0

El proceso de adjuntar src y doc desde la ruta de construcción funciona para algunos y no para algunos (como yo). algunas cosas clave a tener en cuenta

  1. Asegúrese de estar en el Explorador de paquetes, no en el Navegador de proyectos .

  2. Si ha puesto su android-support-v4.jar en la carpeta libs de su proyecto. estupendo.

  3. Haga clic derecho en el frasco, Crear ruta .. Agregar a ruta. (Si Agregar a la ruta no aparece, entonces ya está agregado. Verá configurar ruta ..)

  4. Como resultado del paso 3, aparecerá una nueva carpeta llamada Bibliotecas referenciadas en el árbol del explorador de paquetes. Abra ese árbol, busque android-support-v4.jar allí. Haga clic con el botón derecho en este frasco en las propiedades de Bibliotecas referenciadas . Luego, establezca allí el adjunto de origen de Java y la ubicación de Javadoc.

  5. Estás listo.

La ruta de mi archivo adjunto de código fuente Java (su ubicación externa)

C: / Users / thupten / adt-bundle-windows-x86_64-20130514 / sdk / extras / android / support / v4 / src

Usé el documento del sitio web de Android para la ubicación del documento de Java

http://developer.android.com/reference/android/support/v4/app/package-summary.html

Thupten
fuente
0

Encontré esto para mí:

Para la biblioteca principal: android.jar:

src: sdk / sources / android-19 doc: sdk / docs / reference /

Para soporte lib: android-support-v4.jar: (antes de esto, debemos agregar android-support-v4.jar como jar externo (Propiedades del proyecto -> Ruta de compilación Java -> Bibliotecas, luego en la pestaña 'Ordenar y exportar') esta biblioteca antes de las bibliotecas privadas de Android)):

src: sdk / extras / android / support / v4 / src / java doc: http://developer.android.com/reference/android/support/v4/app/package-summary.html (no estoy seguro)

ultraon
fuente
0

Después de haber actualizado el SDK y descargar la documentación en él:

  • Importe el proyecto de la biblioteca de soporte al explorador de paquetes.
  • Cree una carpeta en la biblioteca y asígnele un nombre como ext-jars .
  • Mover android-support-v4.jara ext-jarscarpeta.

    ingrese la descripción de la imagen aquí

  • Haga clic derecho en el proyecto y haga clic en Propiedades.
  • Haga clic en Java Build Path en el menú de la izquierda y luego seleccione la pestaña Bibliotecas.
  • Haga clic en, Add JARs...luego expanda el proyecto y seleccione el archivo jar que ya movió a la carpeta ext-jars.

ingrese la descripción de la imagen aquí

  • Expanda el frasco agregado y seleccione y Source attachmentluego haga clic en Edit.
  • Seleccione y External locationluego haga clic enExternal Folder...
  • Elija la carpeta de origen para Support v4 que se encuentra en [sdk-path]/extras/android/support/v4/src

ingrese la descripción de la imagen aquí

  • Seleccione Javadoc locationhaga clic en Editluego seleccione y Javadoc URLluego haga clic en Browse...y elija la ubicación de javadoc para soporte v4 que se encuentra[sdk-path]/docs/reference/

ingrese la descripción de la imagen aquí - Seleccione la Order and Exportpestaña y marque la android-support-v4.jarque acaba de agregar.

Le sugiero que también limpie el proyecto y vuelva a abrir el Eclipse.

MDP
fuente