Создать Javadoc для моего проекта Android - PullRequest
23 голосов
/ 20 января 2010

Я надеялся, что кто-нибудь сможет помочь мне в создании Javadoc для моего проекта Eclipse. Когда я выбираю «Создать Javadoc» в меню проекта, я получаю много ошибок, таких как

cannot find symbol
symbol  : class ListView

каждый раз, когда класс ссылается на класс Android API, так что я получаю вывод Javadocs только для классов, которые не ссылаются на какие-либо вещи Android-API. Мое приложение компилируется и работает правильно, и в настройках проекта присутствует Android 1.6 lib (в пути сборки - раздел внешних jars).

Есть идеи, что я делаю не так?

Спасибо.

Дори

Ответы [ 11 ]

18 голосов
/ 21 января 2010

Мне удалось сгенерировать Javadoc для всех моих классов, убедившись, что у меня установлен компонент «Документация для Android SDK» в Android SDK и AVD Manager, и выбрал android.jar в качестве справочного архива на шаге 2 поколение Javadoc.

Он не генерировал ссылки на справочные документы, но он создавал документы для всех моих классов.

12 голосов
/ 04 марта 2011

Я был немного упрям, и не настроил 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>
9 голосов
/ 27 апреля 2011

Что мне помогло, так это установление пути к классу для android.jar. В Eclipse: проект -> создать Javadoc -> 3-й шаг в разделе «дополнительные параметры Javadoc». Например.

-classpath "C:\android-sdk-windows\platforms\android-11\android.jar"
7 голосов
/ 24 июля 2012

А для пользователей 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>
3 голосов
/ 21 января 2010

Конечно, существует проблема генерации Javadoc для Android из Eclipse. Я нашел обходной путь, используя 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 окажется в корневом каталоге вашего проекта, вы сможете Запуск от имени -> Сборка Maven ... и настроить цель javadoc: javadoc (при условии Eclipse имеет установленный плагин m2eclipse). По умолчанию вывод будет в каталоге target.

1 голос
/ 26 февраля 2010

Вы определенно можете сделать это с Maven. В идеале вы можете использовать Maven Android Plugin для полной сборки. Это также позволит вам использовать такие вещи, как findbugs, checkstyle, pmd и т. Д.

Документация есть в вики проекта, а также в книге Maven: Полная ссылка http://www.sonatype.com/books/mvnref-book/reference/android-dev.html

0 голосов
/ 22 декабря 2014

Если вы используете Intellij IDEA , перейдите на Tools - Generate JavaDoc... Укажите все настройки и установите параметры: -bootclasspath [path]\android-sdk\platforms\android-{version}\android.jar -encoding UTF-8 -docencoding utf-8 -charset utf-8

Больше информации в этом сообщении .

0 голосов
/ 29 мая 2014

В Eclipse вы должны добавить android.jar к пути к классам проекта, либо через свойства вашего проекта, либо отредактировав <path_to_your_project>/.classpath вручную.

Подробнее см. Мой ответ https://stackoverflow.com/a/23925003/3499937.

0 голосов
/ 11 октября 2013

Эта статья от ilijamt помогла мне создать Javadoc для моего проекта с использованием Ant.

В основном вам нужно добавить этот раздел в 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
0 голосов
/ 20 августа 2013

С 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>
...