生成 javadoc 本身算是比较没什么难度的事情,android studio 先天就是支持的,但是实际的开发中,我们需要编译的过程中自动生成,这个就有点挠头了,如果时 android 的还好,假如是 java 的 library 呢,好吧,头发就要掉完了
依赖 gradle 生成 android 的 javadoc
task javaDoc(type: Javadoc) {
delete("javadoc/") #清理旧的 javadoc
options{
encoding('UTF-8') #支持中文,避免乱码
charSet('UTF-8') #支持中文,避免乱码
memberLevel = JavadocMemberLevel.PUBLIC #保留 public 的方法
linkSource true
author false #是否保留作者
noTree true #是否生成树状结构
noIndex true
noNavBar true
}
source = android.sourceSets.main.java.srcDirs #生成 javadoc 的源目录
#模块下的第三方库的类名也能被索引{@link},应对 javadoc 提示“错误:找不到符号”
classpath += project.files(android.getBootClasspath().join(File.pathSeparator))
destinationDir = file("javadoc/") #生成 javadoc 的目标目录
failOnError false #报错不中断
}
afterEvaluate {
javaDoc.classpath += files(android.libraryVariants.collect { variant ->
variant.javaCompileProvider.get().classpath.files
})
}
最后在终端执行 javaDoc 即可
gradlew :模块名:javaDoc
依赖 gradle 生成 java 的 javadoc
task javaDoc(type: Javadoc) {
delete("javadoc/") #清理旧的 javadoc
options{
encoding('UTF-8') #支持中文,避免乱码
charSet('UTF-8') #支持中文,避免乱码
memberLevel = JavadocMemberLevel.PUBLIC #保留 public 的方法
linkSource true
author false #是否保留作者
noTree true #是否生成树状结构
noIndex true
noNavBar true
}
source = sourceSets.main.allJava #生成 javadoc 的源目录
#模块下的第三方库的类名也能被索引{@link},应对 javadoc 提示“错误:找不到符号”
classpath += configurations.compile
classpath += files({ project(':你的模块名').sourceSets.main.compileClasspath })
destinationDir = file("javadoc/") #生成 javadoc 的目标目录
failOnError false #报错不中断
}
最后在终端执行 javaDoc 即可
gradlew :模块名:javaDoc