如何在Android Studio中显示依赖关系树?

时间:2016-08-18 02:08:55

标签: android android-studio gradle intellij-idea android-gradle

我的目标是在特定项目中查看依赖树(例如:appcompat,dagger等)。

就像一个IntelliJ:

enter image description here

8 个答案:

答案 0 :(得分:129)

问题中的图像并不真正显示树,只是编译到应用程序中的所有内容的平面列表。

你在使用Gradle吗?

如果是这样,你可以真正看到"树"通过运行Gradle命令

Android文档View the dependency tree

GUI

  
      
  1. 选择查看> 工具Windows > Gradle (或点击工具窗口栏中的Gradle图标)。
  2.   
  3. 展开 AppName > 任务> android 并双击androidDependencies。 Gradle执行任务后,运行窗口   应该打开以显示输出。
  4.   

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(或{{ 1}}),你在错误的文件夹中。

答案 1 :(得分:18)

在右侧,打开gradle选项卡>单击gradle图标(执行gradle任务),在弹出的对话框中输入:

app:dependencies

在命令行字段中>确定

答案 2 :(得分:15)

最后,我想通了。我所做的是从项目菜单中选择项目(见下图)。

enter image description here

答案 3 :(得分:11)

Android Studio 3。+

  • 打开 Gradle面板
  • 点击 elephant icon
  • 选择 app gradle项目
  • 在命令行中粘贴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"
      }
    }
    
  • 立即同步

  • 打开 Gradle面板
  • 点击 elephant icon
  • 选择 root 项目
  • 在命令行中粘贴dependencyUpdates
  • 点击确定
  • 等一下

运行面板中,您会找到结果。

答案 4 :(得分:0)

terminal命令查看所有依赖项列表是

self.request.user

答案 5 :(得分:0)

Android Studio 3.4

按照以下步骤检查并可视化项目的依赖关系图中的每个依赖关系(由Gradle在项目同步期间解决):

  1. 在PSD的左窗格中,选择依赖关系
  2. 模块窗格中,选择要检查其已解决依赖性的模块。
  3. 在PSD的右侧,打开已解决的依赖关系窗格,如下所示。

Project Structure

Learn more.

答案 6 :(得分:0)

  

点击 Gradle 标签,然后转到 AppName >任务>帮助>依赖项

Android studio dependencies

答案 7 :(得分:0)

这里有 ViewModel、Navigation、Hilt RxJava 和 Retrofit with gson 的基本 Android 结构依赖

plugins {
    id 'com.android.application'
    id 'dagger.hilt.android.plugin'
    id 'androidx.navigation.safeargs'
}
   

classpath 'com.google.dagger:hilt-android-gradle-plugin:2.36'
classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.3.5"

// RX
implementation 'io.reactivex.rxjava2:rxandroid:2.1.1'
implementation 'io.reactivex.rxjava2:rxjava:2.2.10'

//Network
implementation "com.squareup.retrofit2:retrofit:2.9.0"
implementation "com.squareup.retrofit2:adapter-rxjava2:2.9.0"
implementation "com.squareup.retrofit2:converter-gson:2.9.0"
implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
implementation 'com.squareup.okhttp3:logging-interceptor:3.12.0'

// GSON
implementation 'com.google.code.gson:gson:2.8.6'

// LifeCycle
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.3.0'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.3.0'

/// navigation component
implementation "androidx.navigation:navigation-fragment:2.3.5"
implementation "androidx.navigation:navigation-ui:2.3.5"

//Hilt
implementation "com.google.dagger:hilt-android:2.37"
annotationProcessor 'com.google.dagger:hilt-android-compiler:2.36'