5

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

如果我理解了机制,我有两种方法可以告诉 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}

我遇到了这些问题:

  • 如果我使用第一种方法,我可以成功生成文档,但似乎无法识别 android 类。当 doclava 解析“import android.util.SparseArray”时出现错误

  • 如果我使用第二种方法,我会收到此错误:“javadoc:错误 - 找不到 doclet 类 com.google.doclava.Doclava 1 错误”

事实上:如果我不使用 Doclava,我的文档会正确生成并带有指向 android api 的链接。

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

4

1 回答 1

6

对于那些对该主题感兴趣的人,我使用第一个解决方案解决了我的问题,这是使用的 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>

希望它可以帮助某人

于 2013-07-25T09:02:38.500 回答