私の目標は、特定のプロジェクトの依存関係のツリー(appcompat、daggerなど)を確認することです。
1つのIntelliJのように:
回答:
問題の画像は実際にはツリーを示しておらず、アプリにコンパイルされたすべてのフラットリストを示しています。
Gradleを使用していますか?
もしそうなら、Gradleコマンドを実行することで本当に「ツリー」を見ることができます
Androidのドキュメント:依存関係ツリーを表示する
- 選択して[表示]> [ツールのWindows > Gradleのを(またはツールウィンドウのバーでGradleのアイコンをクリックしてください)。
- [ AppName ] > [ Tasks] > [ android ]を展開し、をダブルクリックします
androidDependencies
。Gradleがタスクを実行すると、[実行]ウィンドウが開いて出力が表示されます。
(木のようなリストを作成します)
./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
)、あなたは間違ったフォルダにあります。
./gradlew appName:dependencies
です。Android Studioでは、の下にありappName > Tasks > help > dependencies
ます。
androidDependencies
あなたの答えのようなタスクで依存関係ツリーを表示する方法を見つけることができませんでした。結果は、Gradle依存関係検索の最終結果のような単なるフラットリストでした。あなたの答えのように木を手に入れる理由と方法はありますか?
app:dependencies
右側で、gradleタブを開き、gradleアイコンをクリックして(gradleタスクを実行)、ポップアップダイアログで次のように入力します。
app:dependencies
コマンドラインフィールドで> ok
app:
して実行するとうまくいきましたdependencies
。これは、依存関係ツリーを示しているため、norbDEVの回答のメソッドよりも有用な出力を提供します。おそらく、./gradlew dependencies
JDKをインストールする必要がないのと同じ出力です。
app
は、AndroidStudioプロジェクトのデフォルトモジュールです。モジュールがない場合、またはすべてのモジュールの依存関係を確認したい場合は、はい、gradle dependencies
同様に機能します
dependencies
[実行]パネルに、依存関係ツリーがあります。
別の方法:
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"
}
}
今すぐ同期
dependencyUpdates
[実行]パネルに結果が表示されます。
次の手順に従って、プロジェクトの同期中にGradleによって解決された、プロジェクトの依存関係グラフの各依存関係を検査して視覚化します。