带有 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
})}
有一个生成 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
})}