2010-01-20 19 views
23

esperaba que alguien pudiera ayudarme a generar un javadoc para mi proyecto de eclipse. Cuando selecciono 'Generar Javadoc' en el menú proyecto recibo muchos errores comoGenerar un Javadoc para mi proyecto de Android

cannot find symbol 
symbol : class ListView 

cada vez que una clase hace referencia a una clase API de Android, por lo que solo me dan Javadocs emitirá para las clases que no hacen referencia a ninguna materia Android API . Mi aplicación se compila y se ejecuta correctamente y en la configuración del proyecto, la lib de Android 1.6 está presente (en la ruta de compilación - sección de jar externos).

¿Alguna idea de qué estoy haciendo mal?

Gracias.

Dori

Respuesta

18

Pude generar Javadocs para todas mis clases asegurándome de tener el componente "Documentation for Android SDK" instalado en el SDK de Android y el Administrador AVD, y seleccionar android.jar como archivo de referencia en el paso 2 de la generación de Javadoc.

No generó enlaces a los documentos de referencia, pero creó documentos para todas mis clases.

3

Ciertamente hay un problema que genera javadoc androide de Eclipse. He encontrado una solución mediante experto y el plugin javadoc con la siguiente configuración (pom.xml):

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>group</groupId> 
    <artifactId>artifact</artifactId> 
    <version>0.0.5-SNAPSHOT</version> 
    <build> 
    <sourceDirectory>src</sourceDirectory> 
    <plugins> 
    <plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-javadoc-plugin</artifactId> 
    <version>2.6.1</version> 
    <configuration> 
    <links> 
    <link>file:/opt/android-sdk/docs/reference/</link> 
    </links> 
    </configuration> 
    </plugin> 
</plugins> 
    </build> 
    <dependencies> 
    <dependency> 
     <groupId>android</groupId> 
     <artifactId>android</artifactId> 
     <version>1.5</version> 
     <scope>provided</scope> 
    </dependency> 
     </dependencies> 
</project>  

adaptar su directorio SDK de Android (/opt/android-sdk/ en el ejemplo). Las librerías de Android también deberían estar disponibles en su repositorio local de maven, puede usar el script android-mvn-install para instalarlas.

Una vez que esto pom.xml está en el directorio raíz del proyecto que será capaz de Run As -> Maven construir ... y configurar un javadoc : javadoc objetivo (siempre que Eclipse ha instalado el plugin m2eclipse). Por defecto, la salida estará en el directorio target.

12

yo era un poco terco, y no lo hice Maven configuración ... espero que este post ayuda a otra persona que está en el mismo bote.

Después de un poco de prueba y error (y un montón de sugerencias extraídas de múltiples búsquedas web), pude hacer que funcione con un script ANT específico, que se puede ejecutar en Eclipse mediante "Ejecutar como -> Ant Build ".

Guarde este archivo, "javadoc.xml", en el directorio de mi proyecto, en paralelo con el archivo AndroidManifest.xml.

Aquí es el contenido del archivo:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<project basedir="." default="doc" name="api docs"> 
<target name="doc" description="my docs"> 
    <javadoc destdir="docs" doctitle="Testing the Title" verbose="on" 
     use="true" 
     classpath="C:\Android\android-sdk_r04-windows\android-sdk-windows\platforms\android-2.1\android.jar;.\libs\admob-sdk-android.jar" 
     sourcepath="gen;src" 
     linkoffline="http://d.android.com/reference C:\Android\android-sdk_r04-windows\android-sdk-windows\docs\reference" 
     stylesheetfile="C:\Android\android-sdk_r04-windows\android-sdk-windows\docs\assets\android-developer-docs.css" 
     > 
    </javadoc> 
</target> 
</project> 
+1

Muchas gracias por su enfoque sugerido. Finalmente pude generar javadoc para mis proyectos de Android – Amir

9

Lo que funcionó para mí se ponía a la ruta de clase android.jar.En Eclipse: proyecto -> generar javadoc -> tercer paso en "opciones adicionales de javadoc". P.ej.

-classpath "C:\android-sdk-windows\platforms\android-11\android.jar" 
+1

Esto funcionó para mí, ¡gracias! – Cesar

+1

dice que la opción de ruta de clases se puede especificar solo una vez. – njzk2

+0

obteniendo el error "javadoc: error: la opción -classpath puede especificarse no más de una vez". –

7

Y para los usuarios hormiga con ninguna ruta codificada (por r20 Android SDK)

<target name="javadoc" depends="-set-debug-mode,-build-setup"> 

    <echo>Generating javadoc</echo> 

    <property name="project.target.class.path" refid="project.target.class.path"/> 
    <property name="project.all.jars.path" refid="project.all.jars.path"/> 

    <javadoc access="private" 
     classpath="${project.target.class.path}:${project.all.jars.path}" 
     destdir="docs" 
     packagenames="${project.app.package}.*" 
     source="1.5" sourcepath="gen:src" /> 
</target> 
+0

¿Puedes explicar cómo agregar el resultado a .jar en mi biblioteca? – Aracem

+1

puede leer la respuesta http://stackoverflow.com/a/4080228/289686 el resumen es, simplemente agregue un destino más para empacar la carpeta de documentos en el jar – logcat

+3

+1 Así es como * debería * hacerse. Tener rutas locales codificadas va a llevar al desastre. –

0

En caso de que alguien corre a través de este número: Android cambió el nombre de la hoja de estilos de documentación 'Android- developer-docs.css 'to' doclava-developer-docs.css 'en la versión r21 del paquete ADT SDK. No estoy seguro exactamente cuando ocurrió el cambio, y acabamos de notar el cambio.

0

con Maven:

La dependencia de Android (instalado a través de Maven Android SDK Deployer):

<dependency> 
     <groupId>android</groupId> 
     <artifactId>android</artifactId> 
     <version>4.2.2_r2</version> 
     <scope>provided</scope> 
    </dependency> 

configuración del Javadoc Maven Plugin:

<reporting> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <version>2.9.1</version> 
      <configuration> 
       <additionalDependencies> 
        <additionalDependency> 
         <groupId>android</groupId> 
         <artifactId>android</artifactId> 
         <version>4.2.2_r2</version> 
        </additionalDependency> 
       </additionalDependencies> 
      </configuration> 
      <reportSets> 
       <reportSet><!-- by default, id = "default" --> 
        <reports><!-- select non-aggregate reports --> 
         <report>javadoc</report> 
        </reports> 
       </reportSet> 
      </reportSets> 
     </plugin> 
    </plugins> 
</reporting> 
0

Este article by ilijamt me ayudó a generar Javadoc para mi proyecto usando Ant.

Básicamente es necesario agregar esta sección para build.xml

<property name="docs.dir" location="javadoc" /> 
<property name="bin.dir" location="bin" /> 
<property name="source.dir" location="src" /> 
<property name="gen.dir" location="gen" /> 

<target 
    name="javadoc" 
    description="Generate JavaDoc documentation" > 

    <xmlproperty 
    collapseAttributes="true" 
    file="AndroidManifest.xml" 
    prefix="tm" /> 

    <mkdir dir="${docs.dir}" /> 

    <javadoc 
    access="private" 
    author="true" 
    classpath="${sdk.dir}/platforms/${target}/android.jar" 
    destdir="${docs.dir}" 
    linkoffline="http://d.android.com/reference ${sdk.dir}/docs/reference" 
    linksource="true" 
    sourcepath="${source.dir};${gen.dir}" 
    use="true" 
    version="true" /> 

    <jar 
    basedir="${docs.dir}" 
    compress="${jar.compress}" 
    jarfile="${bin.dir}/${tm.manifest.package}_${tm.manifest.android:versionName}_javadoc.jar" /> 
</target> 

<target 
    name="clean" 
    depends="android_rules.clean" > 

    <delete dir="${docs.dir}" /> 
</target> 

de su proyecto que le permite ejecutar

ant javadoc 
0

En Eclipse, se debe añadir android.jar a la ruta de clase del proyecto, ya sea a través de su proyecto propiedades o editando el <path_to_your_project>/.classpath manualmente.

Ver mi respuesta https://stackoverflow.com/a/23925003/3499937 para más detalles.

0

Si utiliza IntelliJ IDEA ir a Tools - Generate JavaDoc... especificar todos los ajustes y establece params: -bootclasspath [path]\android-sdk\platforms\android-{version}\android.jar -encoding UTF-8 -docencoding utf-8 -charset utf-8

Más información se encuentra en este post.

Cuestiones relacionadas