首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在BuildConfig上生成javadoc失败

在BuildConfig上生成javadoc失败
EN

Stack Overflow用户
提问于 2021-09-13 07:00:45
回答 1查看 255关注 0票数 2

我正在尝试生成一个Javadoc,以便通过使用Gradle中的一个任务在我的桌面上为我的项目保存。这是我在build.gradle中的代码

代码语言:javascript
复制
apply plugin: 'com.android.library'

android {
    compileSdkVersion 28

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"

    }
}


task generateJavadoc() {
    group "reporting"
    description "Generates Javadoc."
}

android.libraryVariants.all { variant ->

    def task = project.tasks.create("generate${variant.name.capitalize()}Javadoc", Javadoc) {
        title "API Documentation (${project.android.defaultConfig.versionName})"
        group "ApiDoc"
        description "Generates Javadoc for $variant.name."
        destinationDir = reporting.file("/home/<user>/Desktop/myJavaDoc") //optional

        // Source files from the variant
        source = variant.sourceSets.collect { it.java.sourceFiles }.inject { m, i -> m + i }

        // To fix issue: Error: Can not create variant 'android-lint' after configuration ': library: debugRuntimeElements' has been resolved
        doFirst {
            classpath = project.files(variant.javaCompileProvider.get().classpath.files,
                    project.android.getBootClasspath())
        }

        if (JavaVersion.current().isJava8Compatible()) {
            options.addStringOption('Xdoclint:none', '-quiet')
        }

        exclude "**/R"
        exclude "**/R.**"
        exclude "**/R\$**"
        exclude "**/BuildConfig*"
        //exclude "**/sdk/BuildConfig"
        exclude '**/*.kt'

        if (JavaVersion.current().isJava8Compatible()) {
            options.addStringOption('Xdoclint:none', '-quiet')
        }

        options.windowTitle = "API Documentation (${project.android.defaultConfig.versionName})"
        options.memberLevel = JavadocMemberLevel.PROTECTED
        options.linkSource false
        options.author = false

        failOnError true
    }

    task.dependsOn "assemble${variant.name.capitalize()}"
    generateJavadoc.dependsOn task
}

dependencies {
....

我排除了BuildConfig,但是任务仍然失败,说“找不到符号类BuildConfig”。

错误:找不到符号导入com.name.sdk.BuildConfig;^符号:类BuildConfig位置:包com.name.sdk

我已经试图使缓存失效,清理和重建项目,但没有成功。

我还按照先前问题中就这一主题提出的建议补充说:

buildConfigField "String“、"FOO”、“foo”

但是即使这样做也不能解决问题。

我做错了什么?

EN

回答 1

Stack Overflow用户

发布于 2022-06-13 18:52:58

试试exclude "**/BuildConfig.java", "**/R.java"。不要options.addStringOption('Xdoclint:none', '-quiet')两次..。

相反,请使用options.verbose()查看问题可能是什么。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69158549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档