Execution failed for task ':libraries:facebook:androidJavadocs'.< Javadoc generation failed.

2016年03月12日(編集2016年03月12日)
このエントリーをはてなブックマークに追加

開発マシンを変更後、gradle buildを実行した際に発生した。
原因はFacebook Android sdk 3.2.0のビルド時に、JavaDocの生成に失敗したため。

その修正方法を記載した記事です。
環境はAndroid 6.0 (API level 23) です。

環境

  • Android sdk 23
  • Build Tools, Revision 23.0.2
  • The Facebook SDK for Android version 3.2.0
  • com.android.tools.build:gradle:1.2.0

事象

開発マシンを変更して、git cloneでandroidアプリの最新版のソースコードを取得。その後、Execution failed for task ':libraries:facebook:androidJavadocs'. > Javadoc generation failed.が発生した。なお、このエラーはデバッグビルドでは発生しなかった。

発生箇所

ターミナルを使ったgradle本番ビルド(./gradlew clean build)

原因

facebookライブラリのjavaコメントに、<p/>などのおかしなhtmlのタグが利用されているのが原因。

解決方法

  • facebookのライブラリを最新に更新
  • 既存のfacebookのライブラリから違反タグを削除
  • Javadocを作成しないgradleコマンドを使用

以上の三つの解決方法がある。

facebookのライブラリを最新にするのが一番望ましいが、改修の工数を取れない場合もあるだろう。その場合は、Javadocを作成しないgradleコマンドでリリースapkを作成すれば良い。
以下にコマンドごとの成功の可否の結果一覧を示した。

ビルド方法と結果一覧
ビルド方法 結果
./gradlew assembleDebug 成功
./gradlew assemble 失敗
./gradlew clean build 失敗
./gradlew assembleRelease 成功
android studio デバッグ 成功
android studio 本番 成功

つまり、javadocを生成しないbuildコマンドを利用すればビルドは可能である。

結論

androidを開発する際は、googleのライブラリだけでなく、外部ライブラリも定期的に更新しましょう。
最新のfacebook android sdkはかなり安定して動くようになっています。

androidアプリを作成すると、素早い更新とフィードバックが要求されます。
最初はきつく感じますが、更新もスピードについていくのも、そのうち慣れます。

関連記事

タグ検索で調べてみよう

Android6.0