0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Androidで依存関係を調査するときによく使うGradleコマンドまとめ

0
Posted at

はじめに

Android開発をしていると、ライブラリの競合やバージョン差分、意図しない依存関係の混入を調査したい場面があります。

特に、以下のようなケースではGradleの依存関係調査コマンドが役立ちます。

  • 特定のライブラリがどこから入っているのか確認したい
  • どのバージョンが最終的に採用されているのか確認したい
  • debug / release で依存関係に差があるか確認したい
  • マルチモジュール構成で、特定モジュールの依存関係を調べたい
  • 依存関係の競合や推移的依存を確認したい

そこで今回は、Androidプロジェクトで依存関係を調査するときによく使うGradleコマンドをまとめます。

依存関係一覧を確認する

まず、指定したモジュールの依存関係全体を確認したい場合は、dependenciesタスクを使います。

./gradlew :app:dependencies

ただし、このままだとすべてのConfigurationが出力されるため、情報量がかなり多くなります。
Android開発では、確認したいビルド種別に応じてConfigurationを指定することが多いです。

./gradlew :app:dependencies --configuration debugRuntimeClasspath

releaseビルドの依存関係を確認したい場合は、次のようにします。

./gradlew :app:dependencies --configuration releaseRuntimeClasspath

compileClasspathとruntimeClasspathの違い

依存関係を調べるときによく使うConfigurationには、主に以下があります。

debugCompileClasspath
debugRuntimeClasspath
releaseCompileClasspath
releaseRuntimeClasspath

ざっくり分けると、以下のような違いです。

Configuration 用途
CompileClasspath コンパイル時に必要な依存関係
RuntimeClasspath 実行時に必要な依存関係

特定のライブラリがどこから入っているか確認する

特定の依存関係について詳しく調べたい場合は、dependencyInsightを使います。

./gradlew :app:dependencyInsight --dependency retrofit --configuration debugRuntimeClasspath

マルチモジュール構成で特定モジュールを調べる

例えば、:domainモジュールの依存関係を確認したい場合は次のようにします。

./gradlew :domain:dependencies --configuration releaseRuntimeClasspath

よく使うコマンドまとめ

appモジュールの依存関係一覧を確認する

./gradlew :app:dependencies --configuration debugRuntimeClasspath
./gradlew :app:dependencies --configuration releaseRuntimeClasspath

特定ライブラリの依存経路を確認する

./gradlew :app:dependencyInsight --dependency ライブラリ名 --configuration debugRuntimeClasspath

まとめ

dependenciesとdependencyInsightを使えるようにしておくと、原因調査の初動がかなり楽になります。
必要となった際には覚えておくと助けられることもあるかと思いますので、ぜひご活用いただければ幸いです。

さいごに

まだ5月なのに30度越えは気合いが入りすぎているのでは…?

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?