How do I show dependencies tree in Android Studio?
The image in the question doesn't really show a tree, just a flat list of everything compiled into the app.
Are you using Gradle?
If so, you can truly see the "tree" by running a Gradle command
Android documentation: View the dependency tree
GUI
- Select View > Tool Windows > Gradle (or click Gradle icon in the tool windows bar).
- Expand AppName > Tasks > android and double-click
androidDependencies
. After Gradle executes the task, the Run window should open to display the output.
CLI
(produces tree-like list)
./gradlew app:dependencies
and/or
(produces flat list)
./gradlew app:androidDependencies
Where app
is your module's name
And you get something like so
+--- 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
For specific flavor use the command
gradle app:dependencies --configuration <flavorNameRuntimeClasspath>
Note: If you run ls
(or dir
on Windows) in that folder, and don't see gradlew
(or gradlew.bat
), you are in the wrong folder.
On the right side, open the gradle tab > click the gradle icon (execute gradle task), in the popup dialog enter :
app:dependencies
in the command line field > ok
Android Studio 3.+
- Open the Gradle panel
- Click the elephant icon, which has the tooltip "Execute Gradle Task"
- Select the app gradle project
- In the command line paste:
dependencies
- Click OK
In the Run panel you will find the dependency tree.
Another method:
Open the Gradle panel
Find the "(root)" postfix and open (app's folder name)
Open the Tasks node
Open the android node
Double click on the "androidDependencies"
In the Run panel you will find the dependency list
Before a normal build switch back to the normal Build Configuration (next to the hammer)
Another useful tool:
How to find what dependency is updated: https://github.com/ben-manes/gradle-versions-plugin
Usage
Add this to project level build.gradle
apply plugin: "com.github.ben-manes.versions" buildscript { repositories { jcenter() } dependencies { classpath "com.github.ben-manes:gradle-versions-plugin:0.20.0" } }
Sync Now
- Open the Gradle panel
- Click the elephant icon
- Select the root project
- In the command line paste:
dependencyUpdates
- Click OK
- Wait a little bit
In the Run panel you will find the result.
Android Studio 3.4
Inspect and visualize each dependency in the dependency graph of your project, as resolved by Gradle during project sync, by following these steps:
- Android Studio -> File -> Project Structure (Dialog)
- In the left pane of the "Project Structure" window, select Dependencies.
- In the Modules pane, select a module for which you’d like to inspect the resolved dependencies.
- For Android Studio 3.6 and above: On the right side of the "Project Structure" window, look at the Resolved Dependencies pane. An example is shown below, where you can click on the Expand arrows to navigate into each sub-dependency. However, it does not allow text searching, like the console output does.
Learn more.