【问题标题】:Generate a Javadoc for my Android project为我的 Android 项目生成 Javadoc
【发布时间】:2010-01-20 14:11:10
【问题描述】:

我希望有人可以帮助我为我的 Eclipse 项目生成 javadoc。当我从项目菜单中选择“生成 Javadoc”时,会出现很多错误,例如

cannot find symbol
symbol  : class ListView

每次一个类引用一个 Android API 类,所以我只为那些不引用任何 android api 东西的类输出 Javadocs。我的应用程序可以正确编译和运行,并且在项目设置中存在 Android 1.6 库(在构建路径 - 外部 jars 部分)。

任何想法我做错了什么?

谢谢。

多里

【问题讨论】:

    标签: java android javadoc


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      我有点固执,并没有设置 Maven...希望这篇文章可以帮助其他处于同一条船上的人。

      经过一些试验和错误(以及从多个网络搜索中收集到的大量建议),我能够使用特定的 ANT 脚本来实现这一点,该脚本可以在 Eclipse 中通过“Run As -> Ant Build”运行.

      我将此文件“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>
      

      【讨论】:

      • 非常感谢您提出的方法。最后,我能够为我的 android 项目生成 javadoc
      【解决方案3】:

      对我有用的是将类路径设置为 android.jar。在 Eclipse 中:项目 -> 生成 javadoc -> “extra javadoc options”下的第 3 步。例如。

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

      【讨论】:

      • 它说类路径选项只能指定一次。
      • 出现错误“javadoc: error - -classpath 选项只能指定一次。”
      【解决方案4】:

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

      【讨论】:

      • 您能解释一下如何将结果添加到我的库中的 .jar 中吗?
      • 你可以阅读答案stackoverflow.com/a/4080228/289686 总结是,只需再添加一个目标将docs文件夹打包到jar中
      • +1 这就是它应该的方式。硬编码本地路径会导致灾难。
      【解决方案5】:

      从 Eclipse 生成 android javadoc 肯定有问题。 我找到了使用 ma​​ven 和具有以下配置 (pom.xml) 的 javadoc 插件的解决方法:

      <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 在您的项目根目录中,您将能够Run As -> Maven build ... 并配置 javadoc:javadoc 目标(前提是 eclipse 安装了 m2eclipse 插件)。 默认输出将在target 目录中。

      【讨论】:

        【解决方案6】:

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

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

        【讨论】:

          【解决方案7】:

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

          【讨论】:

            【解决方案8】:

            使用 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>
            

            【讨论】:

              【解决方案9】:

              这个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
              

              【讨论】:

                【解决方案10】:

                在 Eclipse 中,您应该通过项目属性或手动编辑 &lt;path_to_your_project&gt;/.classpathandroid.jar 添加到项目类路径中。

                详情请看我的回答https://stackoverflow.com/a/23925003/3499937

                【讨论】:

                  【解决方案11】:

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

                  更多信息在这个post

                  【讨论】:

                    猜你喜欢
                    • 2021-08-19
                    • 2011-03-11
                    • 1970-01-01
                    • 2012-03-11
                    • 2021-07-25
                    • 2013-03-27
                    • 2020-06-16
                    • 2010-12-02
                    • 2017-06-16
                    相关资源
                    最近更新 更多