24 Stimmen

Erzeugen eines Javadocs für mein Android-Projekt

Ich hatte gehofft, dass mir jemand bei der Erstellung eines Javadocs für mein Eclipse-Projekt helfen kann. Wenn ich "Generate Javadoc" aus dem Projektmenü auswähle, erhalte ich eine Menge Fehler wie

cannot find symbol
symbol  : class ListView

jedes Mal eine Klasse, die eine Android-API-Klasse referenziert, so dass ich nur Javadocs für die Klassen, die keine Android-API-Sachen referenzieren, ausgegeben werden. Meine App kompiliert und läuft korrekt und auf die Projekt-Einstellung der Android 1.6 Lib vorhanden ist (auf den Build-Pfad - externe Jars Abschnitt).

Irgendwelche Ideen, was ich falsch mache?

Danke.

Dori

19voto

Erich Douglass Punkte 51004

Ich konnte Javadocs für alle meine Klassen generieren, indem ich sicherstellte, dass ich die Komponente "Documentation for Android SDK" im Android SDK und AVD Manager installiert hatte, und Android.jar als Referenzarchiv in Schritt 2 der Javadoc-Generierung auswählte.

Es hat keine Links zu den Referenzdokumenten erzeugt, aber es hat Dokumente für alle meine Klassen erstellt.

12voto

vcavanna Punkte 149

Ich war ein bisschen stur und habe Maven nicht eingerichtet... hoffentlich hilft dieser Beitrag jemandem, der im selben Boot sitzt.

Nach einigem Ausprobieren (und vielen Vorschlägen, die ich aus mehreren Web-Suchen entnommen habe) konnte ich dies mit einem speziellen ANT-Skript erreichen, das in Eclipse über "Run As -> Ant Build" ausgeführt werden kann.

Ich habe diese Datei, "javadoc.xml", im Verzeichnis meines Projekts gespeichert, parallel zur Datei AndroidManifest.xml.

Hier ist der Inhalt der Datei:

<?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 Stimmen

Vielen Dank für Ihren Vorschlag. Endlich war ich in der Lage, javadoc für meine Android-Projekte zu generieren

9voto

meh Punkte 99

Bei mir hat es funktioniert, den Klassenpfad auf Android.jar zu setzen. In Eclipse: project -> generate javadoc -> 3. Schritt unter "extra javadoc options". Z.B..

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

1 Stimmen

Heißt es, dass die Option classpath nur einmal angegeben werden darf.

0 Stimmen

Es wird der Fehler "javadoc: error - Die Option -classpath darf nur einmal angegeben werden."

7voto

logcat Punkte 3354

Und für Ant-Benutzer ohne fest kodierten Pfad (für Android sdk r20)

<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 Stimmen

Können Sie mir erklären, wie ich das Ergebnis zu einer .jar-Datei in meiner Bibliothek hinzufügen kann?

1 Stimmen

Sie können die Antwort lesen stackoverflow.com/a/4080228/289686 die Zusammenfassung ist, einfach ein weiteres Ziel hinzufügen, um den Ordner docs in jar zu packen

3 Stimmen

+1 So wird es gemacht debe getan werden. Fest kodierte lokale Pfade führen zu einer Katastrophe.

3voto

Diego Torres Milano Punkte 60646

Sicherlich gibt es ein Problem, Android javadoc von Eclipse zu generieren. Ich habe einen Workaround gefunden mit maven und das javadoc-Plugin mit der folgenden Konfiguration ( 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>    

Ihr Android-Sdk-Verzeichnis anpassen ( /opt/android-sdk/ im Beispiel). Die Android-Bibliotheken sollten auch in Ihrem lokalen Maven-Repository verfügbar sein, Sie können Android-mvn-install Skript, um sie zu installieren.

Sobald diese pom.xml im Root-Verzeichnis Ihres Projekts befindet, können Sie Ausführen als -> Maven build ... und konfigurieren Sie eine javadoc:javadoc Ziel (vorausgesetzt, dass das m2eclipse-Plugin installiert ist). Standardmäßig erfolgt die Ausgabe in target Verzeichnis.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X