web-dev-qa-db-ja.com

私のAndroidプロジェクトのJavadocを生成します

誰かが私のEclipseプロジェクトのjavadocを生成するのを手伝ってくれることを望んでいました。プロジェクトメニューから「GenerateJavadoc」を選択すると、次のようなエラーがたくさん発生します。

cannot find symbol
symbol  : class ListView

Android APIクラスを参照するクラスがあるたびに、Android apiのものを参照しないクラスに対してのみJavadocが出力されます。私のアプリはコンパイルされて実行されます正しく、プロジェクト設定でAndroid 1.6 libが存在します(ビルドパス-外部jarセクション)。

私が間違っていることは何ですか?

ありがとう。

ドリ

24
Dori

Android SDKおよびAVDに "Documentation for Android SDK"コンポーネントがインストールされていることを確認することで、すべてのクラスに対してJavadocを生成することができました。マネージャー、およびJavadoc生成のステップ2で参照アーカイブとしてAndroid.jarを選択します。

参照ドキュメントへのリンクは生成されませんでしたが、すべてのクラスのドキュメントが作成されました。

19
Erich Douglass

私は少し頑固で、Mavenをセットアップしませんでした...この投稿が同じボートに乗っている他の誰かに役立つことを願っています。

少し試行錯誤した後(そして複数のWeb検索から収集された多くの提案)、「実行」->「Antビルド」によってEclipseで実行できる特定のANTスクリプトでこれを機能させることができました。

このファイル「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>
12
vcavanna

私にとってうまくいったのは、クラスパスをAndroid.jarに設定することでした。 Eclipseの場合:プロジェクト-> javadocの生成->「追加のjavadocオプション」の下の3番目のステップ。例えば。

-classpath "C:\Android-sdk-windows\platforms\Android-11\Android.jar"
9
meh

また、ハードコードされたパスを持たない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>
7
logcat

確かに、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はプロジェクトのルートディレクトリにあり、実行-> Mavenビルド...およびjavadoc:javadocゴール(提供)を構成できます。そのEclipseにはm2Eclipseプラグインがインストールされています)。デフォルトでは、出力はtargetディレクトリにあります。

3

あなたは間違いなくMavenでそれを行うことができます。理想的には、完全なビルドに Maven Android Plugin を使用できます。これにより、findbugs、checkstyle、pmdなども使用できるようになります。

ドキュメントは、プロジェクトwikiとMaven:The Complete Reference http://www.sonatype.com/books/mvnref-book/reference/Android-dev.html にあります。

1
Manfred Moser

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>
0
Risadinha

Eclipseでは、プロジェクトのプロパティを介して、またはAndroid.jarを手動で編集することにより、プロジェクトのクラスパスに<path_to_your_project>/.classpathを追加する必要があります。

詳細については、私の回答を参照してください https://stackoverflow.com/a/23925003/3499937

0
bocekm

Intellij IDEAを使用する場合は、Tools - Generate JavaDoc...に移動します。すべての設定を指定し、パラメーターを設定します。-bootclasspath [path]\Android-sdk\platforms\Android-{version}\Android.jar -encoding UTF-8 -docencoding utf-8 -charset utf-8

詳細はこちら 投稿 にあります。

0
anil

これ 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
0
Jasper de Vries

他の誰かがこの問題に遭遇した場合:Android r21バージョンでドキュメントスタイルシートの名前を「Android-developer-docs.css」から「doclava-developer-docs.css」に変更しましたADT SDKバンドルの変更がいつ発生したか正確にはわかりませんが、変更に気づきました。

0
simp