Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I show dependencies tree in Android Studio?

My goal is to see the tree of dependencies (such as: appcompat, dagger, etc) in a particular project.

Like the one IntelliJ:

enter image description here

like image 716
fruqi Avatar asked Aug 18 '16 02:08

fruqi


People also ask

Which of the following commands will you use to show the dependency tree of the project?

You can render the dependency tree with the command gradle dependencies .

Where are module dependencies declared in an Android project?

Navigate to File > Project Structure > Dependencies. Select the Module in which you'll use the library. In the Declared Dependencies tab, click and select Module Dependency in the dropdown.


1 Answers

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

  1. Select View > Tool Windows > Gradle (or click Gradle icon in the tool windows bar).
  2. 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.

like image 100
OneCricketeer Avatar answered Sep 30 '22 19:09

OneCricketeer