You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Dokka生成文档缺失Activity/Fragment自定义成员及函数问题

解决DokkaHtml仅展示类定义、不显示自定义私有成员/函数的问题

你的核心问题是Dokka默认不会将private可见性的成员纳入文档生成范围——即便已经设置了includeNonPublic.set(true),这个参数只是允许Dokka处理非公开成员,但真正控制哪些可见性成员会出现在最终文档里的是documentedVisibilities配置。

修正后的配置

将你的dokkaHtml任务配置修改为如下:

tasks.dokkaHtml {
    moduleName.set("SMMS")
    moduleVersion.set("1.7.0.001")
    outputDirectory.set(file("$buildDir/docs/html"))
    failOnWarning.set(true)
    suppressInheritedMembers.set(true)
    sourceSets {
        configureEach {
            includeNonPublic.set(true)
            // 显式指定要包含的可见性范围,添加PRIVATE
            documentedVisibilities.set(setOf(
                org.jetbrains.dokka.base.DokkaBase.Visibility.PUBLIC,
                org.jetbrains.dokka.base.DokkaBase.Visibility.PROTECTED,
                org.jetbrains.dokka.base.DokkaBase.Visibility.INTERNAL,
                org.jetbrains.dokka.base.DokkaBase.Visibility.PRIVATE
            ))
            skipDeprecated.set(false)
            reportUndocumented.set(true)
            skipEmptyPackages.set(false)
            noAndroidSdkLink.set(true)
        }
    }
}

关键说明

  • documentedVisibilities的默认值是[PUBLIC, PROTECTED],不包含INTERNAL和PRIVATE,必须手动添加才能让私有成员出现在文档中。
  • 纯Kotlin项目可以省略全限定名,直接写Visibility.PRIVATE;Android项目建议保留全限定名,避免与Android SDK中的同名类冲突。
  • 确认你的私有成员带有完整的KDoc注释,因为reportUndocumented.set(true)要求所有纳入文档的成员必须有注释,否则会触发构建警告(而你设置了failOnWarning.set(true),会导致构建失败)。

修改完成后,重新执行./gradlew dokkaHtml任务,生成的文档应该就能正常显示自定义的私有成员和函数了。

内容的提问来源于stack exchange,提问作者mcy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 07:07:30