为我的Android项目生成一个Javadoc

时间:2010-01-20 14:11:11

标签: java android javadoc

我希望有人可以帮助我为我的eclipse项目生成一个javadoc。当我从项目菜单中选择“Generate Javadoc”时,我会收到很多错误,比如

cannot find symbol
symbol  : class ListView

每次引用Android API类的类时,所以我只获得为不引用任何android api的类输出的Javadoc。我的应用程序编译并正确运行,并且在项目设置中存在Android 1.6 lib(在构建路径 - 外部jar部分)。

任何想法我做错了什么?

感谢。

大道

11 个答案:

答案 0 :(得分:18)

通过确保我在Android SDK和AVD Manager中安装了“Android SDK文档”组件,并在第2步中选择android.jar作为参考存档,我能够为我的所有课程生成Javadocs。 Javadoc一代。

它没有生成指向参考文档的链接,但它确实为我的所有类创建了文档。

答案 1 :(得分:12)

我有点顽固,并没有设置Maven ...希望这篇文章可以帮助那些在同一条船上的人。

经过一些试验和错误(以及从多个网络搜索中收集到大量建议)后,我能够使用特定的ANT脚本,可以通过“运行方式 - > Ant构建在Eclipse中运行” ”。

我将此文件“javadoc.xml”保存在我的项目目录中,与AndroidManifest.xml文件并行。

以下是文件的内容:

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

答案 2 :(得分:9)

对我来说有用的是将类路径设置为android.jar。在Eclipse中:项目 - &gt;生成javadoc - &gt; “额外的javadoc选项”下的第3步。例如。

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

答案 3 :(得分:7)

对于没有硬编码路径的Ant用户(对于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>

答案 4 :(得分:3)

当然,从Eclipse生成android javadoc存在问题。 我找到了使用 maven 的解决方法和带有以下配置的javadoc插件(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>    

调整你的android sdk目录(示例中为/opt/android-sdk/)。 Android库也应该在您的本地maven存储库中可用,您可以使用android-mvn-install脚本来安装它们。

一旦此pom.xml位于项目根目录中,您就可以运行方式 - &gt; Maven build ... 并配置 javadoc:javadoc 目标(假设eclipse安装了m2eclipse插件)。 默认情况下,输出将位于target目录中。

答案 5 :(得分:1)

你绝对可以用Maven做到这一点。理想情况下,您可以使用Maven Android Plugin进行完整构建。这也可以让你使用findbugs,checkstyle,pmd等东西。

文档位于项目维基以及Maven:The Complete Reference http://www.sonatype.com/books/mvnref-book/reference/android-dev.html

一书中。

答案 6 :(得分:0)

如果其他人遇到此问题: Android从&#39; android-developer-docs.css&#39;更改了文档样式表的名称。到&#39; doclava-developer-docs.css&#39;在ADT SDK包的r21版本中。不确定何时发生了变化,我们只是注意到了变化。

答案 7 :(得分:0)

使用Maven:

依赖于Android(通过Maven Android SDK Deployer安装):

    <dependency>
        <groupId>android</groupId>
        <artifactId>android</artifactId>
        <version>4.2.2_r2</version>
        <scope>provided</scope>
    </dependency>

配置Javadoc Maven插件:

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.9.1</version>
            <configuration>
                <additionalDependencies>
                    <additionalDependency>
                        <groupId>android</groupId>
                        <artifactId>android</artifactId>
                        <version>4.2.2_r2</version>
                    </additionalDependency>
                </additionalDependencies>
            </configuration>
            <reportSets>
                <reportSet><!-- by default, id = "default" -->
                    <reports><!-- select non-aggregate reports -->
                        <report>javadoc</report>
                    </reports>
                </reportSet>
            </reportSets>
        </plugin>
    </plugins>
</reporting>

答案 8 :(得分:0)

这个article by ilijamt帮助我使用Ant为我的项目生成Javadoc。

基本上,您需要将此部分添加到项目的build.xml

<property name="docs.dir" location="javadoc" />
<property name="bin.dir" location="bin" />
<property name="source.dir" location="src" />
<property name="gen.dir" location="gen" />

<target
  name="javadoc"
  description="Generate JavaDoc documentation" >

  <xmlproperty
    collapseAttributes="true"
    file="AndroidManifest.xml"
    prefix="tm" />

  <mkdir dir="${docs.dir}" />

  <javadoc
    access="private"
    author="true"
    classpath="${sdk.dir}/platforms/${target}/android.jar"
    destdir="${docs.dir}"
    linkoffline="http://d.android.com/reference ${sdk.dir}/docs/reference"
    linksource="true"
    sourcepath="${source.dir};${gen.dir}"
    use="true"
    version="true" />

  <jar
    basedir="${docs.dir}"
    compress="${jar.compress}"
    jarfile="${bin.dir}/${tm.manifest.package}_${tm.manifest.android:versionName}_javadoc.jar" />
</target>

<target
  name="clean"
  depends="android_rules.clean" >

  <delete dir="${docs.dir}" />
</target>

允许您运行

ant javadoc

答案 9 :(得分:0)

在Eclipse中,您应该通过项目属性或手动编辑android.jar<path_to_your_project>/.classpath添加到项目类路径中。

有关详细信息,请参阅我的回答https://stackoverflow.com/a/23925003/3499937

答案 10 :(得分:0)

如果您使用 Intellij IDEA ,请转到Tools - Generate JavaDoc...指定所有设置并设置参数:-bootclasspath [path]\android-sdk\platforms\android-{version}\android.jar -encoding UTF-8 -docencoding utf-8 -charset utf-8

更多信息请参见此post