带有 Androidx 库的 Javadoc gradle 任务

Javadoc gradle task with Androidx library

有一个生成 Javadoc 输出的任务,但问题是当我们实现 androidx.core.app.ActivityCompat class 时它会导致错误。但是其他任务编译没有错误。

task generateJavadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
configurations.implementation.setCanBeResolved(true)
classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) + 
configurations.implementation
destinationDir = file("release/javadoc/")
failOnError false
}

tasks.withType(Javadoc) {
options.addStringOption('Xdoclint:none', '-quiet')
options.addStringOption('encoding', 'UTF-8')
options.addStringOption('charSet', 'UTF-8')
options.memberLevel = JavadocMemberLevel.PRIVATE
options.windowTitle("API Documentation (${project.android.defaultConfig.versionName})")
}

错误是:

WifiManagerUtils.java:10: error: package androidx.core.app does not exist
import androidx.core.app.ActivityCompat;

感谢您的帮助

我已经解决了这个问题。我认为问题是这个 gradle 任务无法正确获取依赖项。方法; classpath += configurations.implementation 似乎无法获得某些库的依赖权限。

该方法正确获取第三方依赖

afterEvaluate {
generateJavadoc.classpath += files(android.libraryVariants.collect { variant ->
    variant.getJavaCompileProvider().get().classpath.files
})}