gpt4 book ai didi

java - 使用 gradle 从 javadoc 中排除 R.java 的正确方法

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:11:48 24 4
gpt4 key购买 nike

我正在使用此 gradle 任务为我的 Android 项目生成 javadoc:

android.applicationVariants.all { variant ->
task("generate${variant.name.capitalize()}Javadoc", type: Javadoc) {
description "Generates Javadoc for $variant.name."
source = variant.javaCompile.source
classpath = files(variant.javaCompile.classpath.files, project.android.getBootClasspath())
exclude '**/BuildConfig.java'
exclude '**/R.java'
options.links("http://docs.oracle.com/javase/7/docs/api/");
options.linksOffline("http://d.android.com/reference","${android.sdkDirectory}/docs/reference");
options {
failOnError false
}
destinationDir = file("${project.projectDir}/javadoc")
}
}

它排除了 R.java,所以我在输出目录中没有得到 R.html。但是,在为我常用的 java 类生成文档的过程中,我遇到了非常烦人的错误 cannot find symbol class R,在 import com.mypackagename.R 行中。我使用常见的 android 东西,比如 R.string.string_res,所以我不能删除这个导入。是否有适当的方法将符号 R 包含到索引中,但不将其包含到 javadoc 中,或者至少只是为了抑制此错误?

最佳答案

您可以尝试将接下来的两行添加到您的代码中:

classpath += files("build/generated/source/r/${variant.flavorName}/release")
classpath += files("build/generated/source/buildConfig/${variant.flavorName}/release")

但在这种情况下,您的任务应该取决于生成 R 类的任务之一。

关于java - 使用 gradle 从 javadoc 中排除 R.java 的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37313205/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com