在使用Android Studio生成Javadoc时,可能会出现“cannot find symbol R”错误。这是由于Javadoc不支持处理资源文件的原因导致的。
为了解决这个问题,可以通过以下步骤进行:
android.libraryVariants.all { variant -> task("generateJavadoc${variant.name.capitalize()}") { description "Generates Javadoc for $variant.name." group "Documentation" def javadocDestinationDir = new File(projectDir, "build/docs/javadoc/${variant.dirName}") inputs.files(android.sourceSets[variant.name].java.srcDirs, android.sourceSets[variant.name].res.srcDirs) outputs.dir javadocDestinationDir doLast { delete javadocDestinationDir javadoc { source = variant.javaCompile.source classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) options.memberLevel = JavadocMemberLevel.PUBLIC options.links("http://docs.oracle.com/javase/7/docs/api/"); options.links("http://developer.android.com/reference/"); options.linkSource true exclude '/BuildConfig.java' exclude '/R.java' destinationDir = javadocDestinationDir } } } }
通过以上步骤,就可以成功地生成Javadoc了。