安卓工作室Javadoc : Cannot find symbol

标签 android android-studio gradle javadoc

我正在尝试准备我的 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任务运行时出现如下问题:

  1. 项目中的每一个@NonNull和@Nullable注解都报“error: cannot find symbol”的错误
  2. 我为 Android 类编写的每个 Javadoc 引用,例如 {@link Toolbar},都会报告错误“错误:找不到引用”

如何在生成 Javadoc 时更正这些引用问题?

编辑 看起来并不是所有的 Android 类链接都产生了问题,它可能只是来自 Android 支持库的类(这也是注释的来源)。是否需要做一些特殊的事情来链接到 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 : Cannot find symbol,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34571371/

相关文章:

android - 通过 Android 保护对 Web 服务的请求

Android Studio 3.0 Beta 2 - AndroidManifest.xml 中发现未知元素 <action>

java - Android 6.0 应用程序未加载 Activity

gradle - 在 Intellij/Gradle 中创建包含源代码和测试的平面目录结构?

java - IntelliJ IDEA "SpringIO"项目报告 "unable to make the module..."

android-studio - Android Studio无法使用Gradle发行版 'https://services.gradle.org/distributions/gradle-4.4-all.zip'执行构建

android - SearchView 中的下拉列表

java - 从 SD 卡中读取 .txt 并插入以编辑文本

android - android widget 背景应该是九色补丁吗?应该有不同的 dpi 版本吗?

android - Android 3.0 Canary 中不显示预览