在生成 javadoc 时,如果 BuildConfig 中存在未定义的常量,则会导致生成 javadoc 失败。为了解决这个问题,需要在 javadoc 命令中加入 -exclude 需要排除的类或包,来排除 BuildConfig 中的常量。例如:
javadoc -exclude com.example.app.BuildConfig
如果你使用的是 Android Studio,可以在 build.gradle 中加入如下配置:
android.libraryVariants.all { variant ->
variant.outputs.each { output ->
output.outputFile = new File(output.outputFile.parent, output.outputFile.name.replace(".aar", "-${variant.versionName}.aar"))
def javadocTask = tasks["javadoc${variant.name.capitalize()}"]
javadocTask.exclude '**/BuildConfig.java'
}
}
这里的代码实现了将 -BuildConfig.java 文件排除在 javadoc 之外,在使用时,只需要将对应的插件应用于项目即可。