微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

带有 Androidx 库的 Javadoc gradle 任务

如何解决带有 Androidx 库的 Javadoc gradle 任务

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

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 +=configuration.implementation 似乎无法获得某些库的依赖权限。

此方法以正确的方式获取第三方依赖项。

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。