Теперь я использую Gradle для всех своих проектов и даже для генерации javadoc.
android.libraryVariants.all { variant ->
task("generate${variant.name}Javadoc", type: Javadoc) {
title = "$name $version API"
source = variant.javaCompile.source
ext.androidJar = "${android.plugin.sdkDirectory}/platforms/${android.compileSdkVersion}/android.jar"
ext.googlePlayServicesJar = "${android.plugin.sdkDirectory}/extras/google/google_play_services/libproject/google-play-services_lib/libs/google-play-services.jar"
classpath = files(variant.javaCompile.classpath.files, ext.androidJar, ext.googlePlayServicesJar)
options.links("http://docs.oracle.com/javase/7/docs/api/");
options.links("http://d.android.com/reference/");
//options.linksOffline("http://d.android.com/reference", "${android.plugin.sdkDirectory}/docs/reference");
exclude '**/BuildConfig.java'
exclude '**/R.java'
}
}
С этим кодом у меня все работает, кроме одного: обычные объекты API Android, такие как Activity, Bitmap и т.д. Ссылки Java работают нормально.
В итоговой сгенерированной документации не ссылка на http://d.android.com/reference.
Я пробовал обе версии options.links() и options.linksOffline()
без успеха.
ИЗМЕНИТЬ
Благодаря @ejb проблема заключалась в том, что вы не можете одновременно предоставить несколько options.links()
.
Поэтому я использовал как options.links()
для документации Java, так и options.linksOffline()
для документации по Android:
options {
links("http://docs.oracle.com/javase/7/docs/api/");
linksOffline("http://d.android.com/reference", "${android.plugin.sdkDirectory}/docs/reference");
//stylesheetFile = new File(projectDir, "stylesheet.css");
}