LoginSignup
0
0

More than 3 years have passed since last update.

Gradle の Source Dependencies で外部ライブラリを参照したら、ビルド不能になった

Last updated at Posted at 2020-11-19

gradle の ソースコード参照(Source Dependencies) 機能を使うと git の gradle プロジェクトをソースコードのまま参照出来て便利です。しかし、自作の外部ライブラリ(Android Library)をソースコード参照したところ、ビルドが全くできなくなりました。

./gradlew assemble しても、参照先の build.gradle のタスクが一切走りません。結果として、必要なクラスが一切見つからない状態となってしまいます。

どうもエラーが内部で握りつぶされているようで、--info や --stacktrace オプションを付けても原因がまったく分かりません。

調査に挫折しかけたのですが、なにかの条件(再現できない…)で偶然 SDK location not found. のエラーメッセージが流れてきたため、原因が分かりました。参照先の Android Library プロジェクトで ANDROID SDK のパスが見つからず、 Android Plugin が初期化できずに終了していたのです。

解決方法

環境変数 ANDROID_SDK_ROOT に Android SDK のパスをセットしてから、ビルドすることで解決しました。

よもやま

Flutter Plugin の開発時に sourceControl を使っていたため、非常に分かりにくいことになっていました。 Flutter の場合、flutter run 時に、local.properties ファイルに ANDROID SDK のパスを自動で出力してくれるのです。が、 Source Dependencies で参照したプロジェクトからは local.properties 内容は当然見えないため、SDK が見つからない、という状態になってしまうようです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0