Android Studio Javadoc:找不到符号
Android Studio Javadoc: Cannot find symbol
我正在尝试准备我的 Android 库并将其上传到 Bintray,该过程的一部分运行以下 javadoc 任务:
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
此任务是此处更大的 gradle 脚本的一部分:
https://raw.githubusercontent.com/attwellBrian/JCenter/master/bintrayv1.gradle
javadoc
任务运行时出现以下问题:
- 项目中的每一个@NonNull和@Nullable注解都报错"error: cannot find symbol"
- 我为 Android class 编写的每个 Javadoc 参考,例如 {@link 工具栏},都会报告 "error: reference not found"
错误
如何在生成 Javadoc 时更正这些引用问题?
编辑
看起来并不是所有 Android class link 都在造成问题,可能只是 class 来自 Android 支持库(这也是注释的来源)。 link 是否需要对 gradle 依赖项中的源文件做一些特殊的事情?
您还应该将所有依赖项添加到 javadoc.classpath。试试这个:
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
afterEvaluate {
javadoc.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})
}
所以这些错误意味着 JavaDoc 不能 link 不在同一个模块中的 类(没有进一步的配置)。如果你不关心这个(即在模块外有 hyperlinks 到 类)你可以忽略
的错误
task javadoc(type: Javadoc) {
failOnError false
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
我正在尝试准备我的 Android 库并将其上传到 Bintray,该过程的一部分运行以下 javadoc 任务:
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
此任务是此处更大的 gradle 脚本的一部分: https://raw.githubusercontent.com/attwellBrian/JCenter/master/bintrayv1.gradle
javadoc
任务运行时出现以下问题:
- 项目中的每一个@NonNull和@Nullable注解都报错"error: cannot find symbol"
- 我为 Android class 编写的每个 Javadoc 参考,例如 {@link 工具栏},都会报告 "error: reference not found" 错误
如何在生成 Javadoc 时更正这些引用问题?
编辑 看起来并不是所有 Android class link 都在造成问题,可能只是 class 来自 Android 支持库(这也是注释的来源)。 link 是否需要对 gradle 依赖项中的源文件做一些特殊的事情?
您还应该将所有依赖项添加到 javadoc.classpath。试试这个:
task javadoc(type: Javadoc) {
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}
afterEvaluate {
javadoc.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})
}
所以这些错误意味着 JavaDoc 不能 link 不在同一个模块中的 类(没有进一步的配置)。如果你不关心这个(即在模块外有 hyperlinks 到 类)你可以忽略
的错误task javadoc(type: Javadoc) {
failOnError false
source = android.sourceSets.main.java.srcDirs
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
}