web-dev-qa-db-ja.com

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

私の目標は、特定のプロジェクトの依存関係ツリー(appcompat、daggerなど)を確認することです。

IntelliJのように:

enter image description here

63
fruqi

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

Gradleを使用していますか?

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

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

GUI

  1. SelectView>Tool Windows>Gradle(または、ツールウィンドウバーのGradleアイコンをクリックします)。
  2. ExpandAppName>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(またはWindowsではdir)を実行し、gradlew(またはgradlew.bat)が表示されない場合、間違ったフォルダーにあります。

147
cricket_007

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

app:dependencies

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

20
JimmyFlash

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

enter image description here

16
fruqi

Android Studio 3。+

  • Gradleパネルを開きます
  • 象アイコンをクリックします。このアイコンには「Gradleタスクを実行」というツールチップがあります

Gradle panel screenshot + elephant icon

  • Selectappgradleプロジェクト
  • コマンドラインでpastedependencies
  • クリックOK

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


別の方法:

  • Gradleパネルを開きます

  • "(root)"後置記号を見つけて(アプリのフォルダー名)を開きます

  • Tasksノードを開きます

  • 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パネルを開きます
  • 象アイコンをクリックします
  • Selectrootプロジェクト
  • コマンドラインでpastedependencyUpdates
  • クリックOK
  • ちょっと待って少し

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

13
norbDEV

Android Studio 3.4

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

  1. PSDの左ペインで、Dependenciesを選択します。
  2. Modulesペインで、解決された依存関係を検査するモジュールを選択します。
  3. PSDの右側で、Resolved Dependenciesペインを開きます。これは以下に表示されています。

Project Structure

詳細

1
Anor

すべての依存関係リストを表示する端末コマンドは

 ./gradlew -q dependencies app:dependencies --configuration implementation
0
vikas kumar