2010-01-20 42 views
23

tôi đã hy vọng một người nào đó có thể giúp tôi trong việc tạo ra một javadoc cho dự án nhật thực của tôi. Khi tôi chọn 'Tạo Javadoc' từ trình đơn dự án Tôi nhận được rất nhiều lỗi nhưTạo một Javadoc cho dự án Android của tôi

cannot find symbol 
symbol : class ListView 

mọi lớp tham khảo một lớp API Android, vì vậy tôi chỉ nhận được Javadocs outputted cho các lớp học mà không tham khảo bất kỳ thứ api android . Ứng dụng của tôi biên dịch và chạy một cách chính xác và trên thiết lập dự án, thư viện Android 1.6 hiện diện (trên đường dẫn xây dựng - phần bên ngoài).

Bất kỳ ý tưởng nào im làm sai?

Cảm ơn.

Dori

Trả lời

18

Tôi có thể tạo Javadocs cho tất cả các lớp học của mình bằng cách đảm bảo rằng tôi đã cài đặt thành phần "Tài liệu cho Android SDK" trong SDK Android và Trình quản lý AVD và chọn android.jar làm lưu trữ tham chiếu ở bước 2 của thế hệ Javadoc.

Nó không tạo liên kết đến tài liệu tham chiếu, nhưng nó đã tạo tài liệu cho tất cả các lớp học của tôi.

3

Chắc chắn có sự cố khi tạo android javadoc từ Eclipse. Tôi đã tìm thấy một workaround sử dụng maven và các plugin javadoc với cấu hình như sau (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>  

thích nghi thư mục sdk android của bạn (/opt/android-sdk/ trong ví dụ). libs Android cũng sẽ có sẵn trong kho lưu trữ maven cục bộ của bạn, bạn có thể sử dụng tập lệnh android-mvn-install để cài đặt chúng.

Khi pom.xml này là trong thư mục gốc của dự án của bạn, bạn sẽ có thể Run As -> Maven xây dựng ... và cấu hình một javadoc : javadoc mục tiêu (với điều kiện là nhật thực toàn phần đã được cài đặt m2eclipse plugin). Theo sản lượng mặc định sẽ nằm trong thư mục target.

1

Bạn chắc chắn có thể làm điều đó với Maven. Lý tưởng nhất là bạn có thể sử dụng Maven Android Plugin để xây dựng hoàn chỉnh của mình. Điều đó cũng sẽ cho phép bạn sử dụng những thứ như findbugs, checkstyle, pmd và như vậy.

Documentation là trên wiki dự án cũng như trong Maven cuốn sách: Các tham khảo Hoàn http://www.sonatype.com/books/mvnref-book/reference/android-dev.html

12

tôi là một chút bướng bỉnh, và không cài đặt Maven ... hy vọng bài viết này sẽ giúp người khác đó là trong cùng một chiếc thuyền.

Sau một chút thử nghiệm và lỗi (Và nhiều đề xuất lượm lặt từ nhiều tìm kiếm trên web), tôi có thể làm việc này với một tập lệnh ANT cụ thể, có thể chạy trong Eclipse bằng cách "Chạy như -> Ant Build ".

Tôi đã lưu tệp này, "javadoc.xml", trong thư mục dự án của tôi, song song với tệp AndroidManifest.xml.

Dưới đây là nội dung của tập tin:

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

Cảm ơn rất nhiều vì cách tiếp cận được đề xuất của bạn. Cuối cùng tôi đã có thể tạo ra javadoc cho các dự án android của tôi – Amir

9

gì làm việc đối với tôi là thiết lập classpath để android.jar.Trong Eclipse: project -> tạo javadoc -> bước thứ ba trong "tùy chọn javadoc bổ sung". Ví dụ.

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

Điều này làm việc cho tôi, cảm ơn! – Cesar

+1

nó nói rằng tùy chọn classpath chỉ có thể được chỉ định một lần. – njzk2

+0

nhận lỗi "javadoc: error - Tùy chọn-classpath có thể được chỉ định không quá một lần." –

7

Và đối với người sử dụng Ant với không có đường dẫn hardcoded (đối với R20 sdk android)

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

Bạn có thể giải thích cách thêm kết quả vào .jar trong thư viện của tôi không? – Aracem

+1

bạn có thể đọc câu trả lời http://stackoverflow.com/a/4080228/289686 tóm tắt là, chỉ cần thêm một mục tiêu nữa để đóng gói tài liệu vào thư mục jar – logcat

+3

+1 Đây là cách nó * nên * được thực hiện. Có đường dẫn cục bộ được mã hóa cứng sẽ dẫn đến thảm họa. –

0

Trong trường hợp ai đó chạy qua vấn đề này: Android đã thay đổi tên của stylesheet tài liệu từ 'android- developer-docs.css 'to' doclava-developer-docs.css 'trong phiên bản r21 của gói ADT SDK. Không chắc chắn chính xác thời điểm thay đổi xảy ra và chúng tôi chỉ nhận thấy sự thay đổi.

0

Với Maven:

Sự phụ thuộc vào Android (cài đặt qua Maven Android SDK Deployer):

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

Cấu hình của Javadoc Maven Plugin:

<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

article by ilijamt này đã giúp tôi tạo ra Javadoc cho dự án của tôi sử dụng Ant.

Về cơ bản bạn cần phải thêm phần này để 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> 

của dự án của bạn cho phép bạn chạy

ant javadoc 
0

Trong Eclipse, bạn nên thêm android.jar vào classpath dự án, hoặc thông qua các dự án của bạn các thuộc tính hoặc bằng cách chỉnh sửa <path_to_your_project>/.classpath theo cách thủ công.

Xem câu trả lời của tôi https://stackoverflow.com/a/23925003/3499937 để biết chi tiết.

0

Nếu bạn sử dụng Intellij IDEA đi đến Tools - Generate JavaDoc... Xác định tất cả các thiết lập và thiết lập params: -bootclasspath [path]\android-sdk\platforms\android-{version}\android.jar -encoding UTF-8 -docencoding utf-8 -charset utf-8

Thông tin thêm là trong post này.

Các vấn đề liên quan