2013-04-05 158 views
4

我正尝试使用javadoc & doclava生成我的android项目的文档。 我下载了doclava jar,并试图通过Project->生成javadoc生成文档。使用Doclava生成android项目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.googl e.doclava.Doclava
-docletpath $ {/全/路径/的/我/ doclava/DIR/doclava-1.0.6.jar}

我曾经遇到过这些问题:

  • 如果我使用第一种方法,我可以成功地生成文档,但似乎Android类无法识别。我得到的错误时doclava解析“进口android.util.SparseArray”

  • 如果我使用第二种方法我得到这个错误: “的javadoc:错误 - 找不到的doclet类com.google.doclava.Doclava 1错误“

事实上:如果我不使用Doclava,那么我的文档就会正确生成,并且链接到android apis。

我只是想创建我的项目javadoc与Android/java文档(对于android/java对象)的链接,并有一个“Android外观&感觉”。

回答

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> 

希望它可以帮助别人