我正在尝试使用javadoc和doclava生成我的android项目的文档。
我下载了doclava jar,并尝试通过Project-> generate javadoc生成doc。

如果我了解该机制,则可以通过两种方法告诉javadoc使用doclava doclet:

1)使用以下选项选择“使用自定义doclet”:

Doclet名称:com.google.doclava.Doclava
Doclet路径:/full/path/of/my/doclava/dir/doclava-1.0.6.jar

2)选择“使用标准doclet”,然后在“javadoc选项”中输入:

-doclet com.google.doclava.Doclava
-docletpath $ {/full/path/of/my/doclava/dir/doclava-1.0.6.jar}

我遇到了以下问题:

  • 如果我使用第一种方法,则可以成功生成doc,但似乎无法识别android类。 doclava解析“import android.util.SparseArray”
  • 时出现错误
  • 如果我使用第二种方法,则会出现此错误:
    “javadoc:错误-找不到doclet类com.google.doclava.Doclava
    1个错误”

  • 事实上:如果我不使用Doclava,则我的文档是使用指向android api的链接正确生成的。

    我只想创建带有指向android/java doc链接(用于android/java对象)的项目javadoc,并具有“android外观”。

    最佳答案

    对于那些对该主题感兴趣的人,我使用第一个解决方案解决了我的问题,这是使用的ant目标:

    <target name="build-javadoc">
        <echo message="Creating Javadoc.." />
        <delete dir="${doc.dir}" />
        <javadoc    access="public"
                    destdir="${doc.dir}"
                    sourcepath="${src.dir}"
                    docletpath="${doclet.dir}/doclava-1.0.6.jar"
                    classpath="lib:libs:/Users/myusername/android-sdks/platforms/android-17/android.jar"
                    packagenames="com.my.package">
    
    
            <doclet name="com.google.doclava.Doclava">
                <!-- Title -->
                <param name="-hdf" />
                <param name="project.name" />
                <param name="Project Name" />
    
                <!-- Overview -->
                <param name="-overview" />
                <param name="src/overview-summary.html" />
    
                <!-- Template -->
                <param name="-templatedir" />
                <param name="Doc/My_Template" />
    
                <!-- federation Java -->
                <param name="-federate" />
                <param name="JDK" />
                <param name="http://download.oracle.com/javase/6/docs/api/index.html?" />
                <param name="-federationxml" />
                <param name="JDK" />
                <param name="http://doclava.googlecode.com/svn/static/api/openjdk-6.xml" />
    
                <!-- federation Android-->
                <param name="-federate" />
                <param name="android" />
                <param name="http://d.android.com/reference" />
                <param name="-federationxml" />
                <param name="android" />
                <param name="http://doclava.googlecode.com/svn/static/api/android-8.xml" />
    
            </doclet>
        </javadoc>
    
        <echo message="...Done" />
    </target>
    

    希望它可以帮助某人

    10-06 03:29