この記事の末尾でも説明したように、gradle-mvn-push
プラグインのuploadArchives
では、内部的にandroidJavadocs
タスクも実行されており、このタスクは、dependencies
による依存関係を知らないため、Java の標準 API 以外はほとんど解釈できません。そのため、Javadoc の生成時に解決できないシンボルが出現してしまうため、タスクが失敗します。
そこで、以下の解決策があると説明しました。
afterEvaluate {
androidJavadocs.classpath += files(android.plugin.runtimeJarList)
}
この場合、Android フレームワークの API を解決させるには十分です。
しかし、依然としてdependencies
に記述した依存までは解決してくれません。
そこでどうするかというと、以下のようにします。
afterEvaluate {
androidJavadocs.classpath += files(android.plugin.runtimeJarList)
androidJavadocs.classpath += project.android.libraryVariants.toList().first().javaCompile.classpath
}
androidJavadocs
タスクのクラスパスに、自分のライブラリが持っているクラスパスを渡します。
これで無事シンボルが解決出来るようになります。