Android/Kotlin项目Dokka API文档@sample标签无法展示示例代码问题
问题根因
Dokka默认仅扫描配置的主源码集内容,你的示例代码所在的路径未被纳入Dokka的扫描范围,无法匹配到@sample标签指向的函数实现,因此只会显示引用路径。同时原配置中perPackageOption块重复设置matchingRegex会导致规则覆盖,可能误拦截示例代码所在的包。
调整步骤
- 第一步:确认示例代码所在的目录路径,建议将示例代码单独放在
src/samples/kotlin目录下,避免和业务主源码混放 - 第二步:修改Dokka配置,将示例代码目录加入Dokka的源码扫描范围,拆分重复的包规则,避免示例所在包被误拦截
- 第三步:确认示例函数的可见性为
public,如果需要保留非公开可见性,可单独为示例包配置includeNonPublic为true
修改后的配置示例
dokkaJavadoc.configure { dokkaSourceSets { named("main") { // 新增:添加示例代码的源码根目录 sourceRoots.from(file("src/samples/kotlin")) skipDeprecated.set(true) skipEmptyPackages.set(true) includeNonPublic.set(false) reportUndocumented.set(true) // 示例包专属配置 perPackageOption { matchingRegex.set("com.example.samples.*") includeNonPublic.set(true) suppress.set(false) } // 业务内部包抑制配置,替换为你实际需要隐藏的包正则 perPackageOption { matchingRegex.set("com.example.internal.*") suppress.set(true) skipEmptyPackages.set(true) includeNonPublic.set(false) } } } }
验证方法
修改配置后执行./gradlew clean dokkaJavadoc重新生成文档,即可看到@sample指向的代码被完整渲染在文档的示例区域。
内容的提问来源于stack exchange,提问作者Jitender Kumar
相关产品推荐
相关产品推荐

