[英]How to generate JavaDoc for android application?
I am trying to generate javadoc for android application using a command or a gradle task.我正在尝试使用命令或gradle任务为 android 应用程序生成javadoc 。 I tried this command:
我试过这个命令:
javadoc -protected -splitindex -bootclasspath /Users/[username]/Library/Android/sdk/platforms/android-29/android.jar -Xdoclint:none -sourcepath app/src/main/java -subpackages .
And the result was:结果是:
error: package androidx.appcompat.app does not exist import androidx.appcompat.app.AppCompatActivity;
Also I've tried tasks like this:我也尝试过这样的任务:
task createJavadocs (type: Javadoc) {
source = project.android.sourceSets.main.java.srcDirs
options.linkSource true
classpath += project.files(project.android.getBootClasspath().join(File.pathSeparator))
failOnError false
}
Which gives the same output.这给出了相同的 output。
I had the same problem until I came across this answer: https://stackoverflow.com/a/29164335/10365305在遇到这个答案之前,我遇到了同样的问题: https://stackoverflow.com/a/29164335/10365305
This is how I adapted the build.gradle
file for my needs:这就是我根据需要调整
build.gradle
文件的方式:
android.applicationVariants.all { variant ->
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
description "Generates Javadoc for $variant.name."
//(project.android.sourceSets.main.java.srcDirs also works if you don't care about variants)
source = variant.javaCompile.source
destinationDir = file("$rootDir/javadoc/")
failOnError false
doFirst {
ext.androidJar = "${android.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
classpath = files(variant.javaCompile.classpath.files) + files(ext.androidJar)
// I used a custom doclet
options.docletpath = configurations.umlDoclet.files as List
options.doclet = "nl.talsmasoftware.umldoclet.UMLDoclet"
options.addStringOption "-show-members", "package"
// more doclet options here...
options.links "https://developer.android.com/reference/"
}
}}
This will generate multiple gradle tasks for each of your build variants.这将为您的每个构建变体生成多个 gradle 任务。 To see a list of the tasks that have been generated this way, use
gradlew tasks --all
.要查看以这种方式生成的任务列表,请使用
gradlew tasks --all
。 For me, this generated the task app:generateReleaseJavadoc
.对我来说,这生成了任务
app:generateReleaseJavadoc
。
Running this task should not (hopefully) lead to the error you mentioned.运行此任务不应(希望)导致您提到的错误。
(I know this is a rather old question but maybe it will help someone.) (我知道这是一个相当古老的问题,但也许它会对某人有所帮助。)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.