2013-04-05 126 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> 

希望它可以幫助別人