使用Gradle从Android SDK继承JavaDoc

Chr*_*ior 5 android javadoc gradle android-gradle-plugin

问题:

我想添加一些继承自Android SDK的JavaDoc.但是,Gradle JavaDoc似乎无法找到Android源代码,因此忽略了{@inheritDoc}标记.

示例类

public class MyCursor implements android.database.Cursor {
  /**
   * {@inheritDoc}
   */
  public int getCount() {
    return 42;
  }

  // ... All other interface methods
}
Run Code Online (Sandbox Code Playgroud)

Gradle任务

def javadocTask = task("javadoc${variant.name.capitalize()}", type: Javadoc) {
    description "Generates Javadoc for $variant.name."
    group 'Docs'
    source = variant.javaCompile.source
    source files("${android.sdkDirectory}/sources/${android.compileSdkVersion}")
    ext.androidJar = files(plugins.findPlugin("com.android.library").getBootClasspath())
    classpath = files(variant.javaCompile.classpath.files) + ext.androidJar
    include 'my/package/**'
    exclude 'my/package/internal/**'
    exclude '**/BuildConfig.java'
    exclude '**/R.java'
}
Run Code Online (Sandbox Code Playgroud)

一些猜测:

  • Android SDK使用@hide了很多崩溃JavaDoc生成的东西.

  • 使用exclude似乎也阻止了继承这些类.