Android Studioで依存関係ツリーを表示するにはどうすればよいですか?


回答:


204

問題の画像は実際にはツリーを示しておらず、アプリにコンパイルされたすべてのフラットリストを示しています。

Gradleを使用していますか?

もしそうなら、Gradleコマンドを実行することで本当に「ツリー」を見ることができます

Androidのドキュメント依存関係ツリーを表示する

GUI

  1. 選択して[表示]> [ツールのWindows > Gradleのを(またはツールウィンドウのバーでGradleのアイコンをクリックしてください)。
  2. [ AppName ] > [ Tasks] > [ android ]を展開し、をダブルクリックしますandroidDependencies。Gradleがタスクを実行すると、[実行]ウィンドウが開いて出力が表示されます。

CLI

(木のようなリストを作成します)

./gradlew app:dependencies

および/または

(フラットリストを作成します)

./gradlew app:androidDependencies

appモジュールの名前はどこにありますか

そして、あなたはそのようなものを手に入れます

+--- MyApp:mylibrary:unspecified
|    \--- com.android.support:appcompat-v7:25.3.1
|         +--- com.android.support:animated-vector-drawable:25.3.1
|         |    \--- com.android.support:support-vector-drawable:25.3.1
|         |         \--- com.android.support:support-v4:25.3.1
|         |              \--- LOCAL: internal_impl-25.3.1.jar
|         +--- com.android.support:support-v4:25.3.1
|         |    \--- LOCAL: internal_impl-25.3.1.jar
|         \--- com.android.support:support-vector-drawable:25.3.1
|              \--- com.android.support:support-v4:25.3.1
|                   \--- LOCAL: internal_impl-25.3.1.jar
\--- com.android.support:appcompat-v7:25.3.1
     +--- com.android.support:animated-vector-drawable:25.3.1
     |    \--- com.android.support:support-vector-drawable:25.3.1
     |         \--- com.android.support:support-v4:25.3.1
     |              \--- LOCAL: internal_impl-25.3.1.jar
     +--- com.android.support:support-v4:25.3.1
     |    \--- LOCAL: internal_impl-25.3.1.jar
     \--- com.android.support:support-vector-drawable:25.3.1
          \--- com.android.support:support-v4:25.3.1
               \--- LOCAL: internal_impl-25.3.1.jar

:あなたが実行している場合ls(またはdirそのフォルダにWindows上)、および表示されないgradlew(またはgradlew.bat)、あなたは間違ったフォルダにあります。


1
おかげで、いくつかの一時的な依存関係を追跡するのに大いに役立ちました。
マークキーン2017

3
ただし、この回答に表示されているものではなく、依存関係の非インタラクティブなテキストリストです
Tristan

6
これは新しいgradleバージョンのものかもしれませんが、依存関係ツリーはで表示されているよう./gradlew appName:dependenciesです。Android Studioでは、の下にありappName > Tasks > help > dependenciesます。
omahena

3
@ cricket_2つのタスクが異なることに同意します。そして、私はそれを間違っているかもしれません...しかし、Gradle4.6とandroidDependenciesあなたの答えのようなタスクで依存関係ツリーを表示する方法を見つけることができませんでした。結果は、Gradle依存関係検索の最終結果のような単なるフラットリストでした。あなたの答えのように木を手に入れる理由と方法はありますか?
omahena

1
@omahenaええと、私はドキュメントから直接コピーしました。私の答えは言うために使用されるapp:dependencies
OneCricketeer

22

右側で、gradleタブを開き、gradleアイコンをクリックして(gradleタスクを実行)、ポップアップダイアログで次のように入力します。

app:dependencies

コマンドラインフィールドで> ok


1
これは、削除app:して実行するとうまくいきましたdependencies。これは、依存関係ツリーを示しているため、norbDEVの回答のメソッドよりも有用な出力を提供します。おそらく、./gradlew dependenciesJDKをインストールする必要がないのと同じ出力です。
jk7 2018年

1
@ jk7appは、AndroidStudioプロジェクトのデフォルトモジュールです。モジュールがない場合、またはすべてのモジュールの依存関係を確認したい場合は、はい、gradle dependencies同様に機能します
OneCricketeer 2018年

18

Android Studio 3. +

  • Gradleパネルを開きます
  • ツールチップ「Gradleタスクの実行」が表示されている象のアイコンをクリックします

Gradleパネルのスクリーンショット+象のアイコン

  • アプリのgradleプロジェクトを選択します
  • コマンドラインに貼り付けます:dependencies
  • [ OK]をクリックします

スクリーンショット:Gradleタスクの実行-ウィンドウ

[実行]パネルに、依存関係ツリーがあります。


別の方法:

  • Gradleパネルを開きます

  • 「(root)」接尾辞を見つけて開きます(アプリのフォルダー名)

  • タスクノードを開きます

  • Androidノードを開きます

  • 「androidDependencies」をダブルクリックします

[実行]パネルには、依存関係リストがあります

通常のビルドに切り替える前に、通常のビルド構成(ハンマーの横)に戻します


別の便利なツール:

更新された依存関係を見つける方法: https //github.com/ben-manes/gradle-versions-plugin

使用法

  • これをプロジェクトレベルのbuild.gradleに追加します

    apply plugin: "com.github.ben-manes.versions"
    
    buildscript {
      repositories {
        jcenter()    
      }
    
      dependencies {
        classpath "com.github.ben-manes:gradle-versions-plugin:0.20.0"
      }
    }
    
  • 今すぐ同期

  • Gradleパネルを開きます
  • 象のアイコンをクリックします
  • ルートプロジェクトを選択します
  • コマンドラインに貼り付けます:dependencyUpdates
  • [ OK]をクリックします
  • 少し待つ

[実行]パネルに結果が表示されます。


これにより、ツリーではなく依存関係のフラットリストが作成されるため、特定の依存関係を使用しているライブラリを特定する必要がある場合はあまり役に立ちません。「通常のビルド構成に戻す」ヒントの+1。
jk7 2018年

16

最後に、私はそれを理解しました。私は何をすることを選択することで、プロジェクトをプロジェクトメニュー(下の画像を参照)から。

ここに画像の説明を入力してください


12
これは決して依存関係ツリーではありません。依存関係ツリーは、たとえば、ライブラリAがライブラリBバージョン1を使用し、ライブラリCがライブラリBバージョン2を使用する場合に、競合するバージョンを見つけるために使用されます。質問が立っているように、この答えは正しくありません。使用済みライブラリのリストを要求するように質問を更新するか、cricket_007の回答を受け入れる必要があります。
JHH

6

Android Studio 3.4

次の手順に従って、プロジェクトの同期中にGradleによって解決された、プロジェクトの依存関係グラフの各依存関係を検査して視覚化します。

  1. Android Studio->ファイル->プロジェクト構造(ダイアログ)
  2. [プロジェクト構造]ウィンドウの左側のペインで、[依存関係]を選択します。
  3. ではモジュールのペインで、あなたが解決の依存関係を検査したい対象のモジュールを選択します。

プロジェクト構造

  1. Android Studio 3.6以降の場合:[プロジェクト構造]ウィンドウの右側で、[解決された依存関係]ペインを確認します。以下に例を示します。ここでは、展開矢印をクリックして、各サブ依存関係に移動できます。ただし、コンソール出力のようにテキスト検索はできません。

解決された依存関係ペイン

もっと詳しく知る。


5

すべての依存関係リストを表示するターミナルコマンドは

 ./gradlew -q dependencies app:dependencies --configuration implementation

3

[ Gradle ]タブをクリックし、[ AppName ]> [タスク]> [ヘルプ]> [依存関係]に移動します

AndroidStudioの依存関係

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.