Search code examples
androidandroid-studiogradleintellij-ideaandroid-gradle-plugin

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


Solution

  • 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.