最新Android Studio Giraffe无法生成Android Javadoc求助
Android Studio(Mac)生成Javadoc报"package does not exist"错误的解决办法
一、优先使用Gradle任务生成(适配Java/Kotlin混合项目)
手动通过IDE生成Javadoc容易因依赖配置不全出错,推荐直接在app模块的build.gradle中添加专用任务:
Groovy版本(build.gradle)
task generateJavadoc(type: Javadoc) { // 包含Java源码和Kotlin生成的Java stub source = android.sourceSets.main.java.srcDirs ext.kotlinSrcDirs = android.sourceSets.main.kotlin.srcDirs doFirst { // 生成Kotlin类的Java stub,解决跨语言引用问题 ext.kotlinClasspath = files(android.bootClasspath) + project.files(project.configurations.compileClasspath.files) kotlin.srcDirs.each { dir -> def stubDir = file("${buildDir}/tmp/kotlin-javadoc-stubs/${dir.name}") kotlin.compilerRunner.runJavadocStubGeneration(dir, stubDir, kotlinClasspath) source += stubDir } } // 配置类路径,包含Android SDK和所有依赖库 classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) classpath += project.configurations.compileClasspath // 编码与错误忽略配置 options.encoding = "UTF-8" options.addStringOption('Xdoclint:none', '-quiet') // 输出目录与排除无用文件 destinationDir = file("${project.buildDir}/docs/javadoc") exclude '**/R.java', '**/BuildConfig.java' }
Kotlin DSL版本(build.gradle.kts)
tasks.register<Javadoc>("generateJavadoc") { source = android.sourceSets.main.get().java.srcDirs val kotlinSrcDirs = android.sourceSets.main.get().kotlin.srcDirs doFirst { val kotlinClasspath = files(android.bootClasspath) + project.files(project.configurations.compileClasspath.get().files) kotlinSrcDirs.forEach { dir -> val stubDir = file("${buildDir}/tmp/kotlin-javadoc-stubs/${dir.name}") kotlin.compilerRunner.runJavadocStubGeneration(dir, stubDir, kotlinClasspath) source += stubDir } } classpath += files(android.bootClasspath) classpath += project.configurations.compileClasspath.get() options.encoding = "UTF-8" options.addStringOption("Xdoclint:none", "-quiet") destinationDir = file("${project.buildDir}/docs/javadoc") exclude("**/R.java", "**/BuildConfig.java") }
执行方式:
- 在Android Studio右侧Gradle面板中,找到
app -> Tasks -> documentation -> generateJavadoc,双击执行 - 或终端运行命令:
./gradlew app:generateJavadoc
二、手动生成Javadoc的修正配置
如果坚持使用IDE的"Generate Javadoc"工具,按以下步骤调整:
- 打开
Tools -> Generate Javadoc... - 作用域选择
Module 'app'(避免扫描无关文件) - 输出目录指定一个空文件夹(如
app/build/docs/javadoc) - Other command line arguments添加以下参数(替换你的SDK路径):
-encoding UTF-8 -charset UTF-8 -bootclasspath /Users/Varaprasad/Library/Android/sdk/platforms/android-33/android.jar -classpath "$(find . -name "*.jar" -type f | grep -E "(compile|runtime)" | tr '\n' ':')" -Xdoclint:none - Files to exclude中添加:
**/R.java, **/BuildConfig.java - 取消勾选
Include JDK library sources in -sourcepath - 点击"OK"执行
三、系统层面排查
- 检查Mac权限:进入
系统设置 -> 隐私与安全性 -> 文件与文件夹,确保Android Studio有访问项目目录和SDK目录的权限 - 新项目测试前,先执行
File -> Sync Project with Gradle Files,确保依赖完全下载
内容的提问来源于stack exchange,提问作者Deepak J
相关产品推荐
相关产品推荐

