Як показати дерево залежностей в Android Studio?


Відповіді:


200

На зображенні у питанні насправді не показано дерево, а лише плоский список усього, що складено в програмі.

Ви використовуєте Gradle?

Якщо так, ви можете справді побачити "дерево", запустивши команду Gradle

Документація для Android : Перегляньте дерево залежностей

Графічний інтерфейс

  1. Виберіть « Перегляд» > « Інструменти Windows» > « Gradle» (або клацніть піктограму Gradle на панелі вікон інструментів).
  2. Розгорніть AppName > Tasks > android і двічі клацніть androidDependencies. Після того, як Gradle виконає завдання, має відкритися вікно "Виконати", щоб відобразити результати.

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(або dirна Windows) у цій папці і не бачите gradlew(або gradlew.bat), ви потрапили не в ту папку.


1
Дякую, мені дуже допомогло у відстеженні деяких перехідних залежностей.
Марк Кін,

3
Це не те, що ви показуєте у цій відповіді, це просто неінтерактивний текстовий список залежностей
Трістан,

6
Можливо, це нова версія версії gradle, але дерево залежностей, здається, відображається ./gradlew appName:dependencies. В Android Studio його можна знайти під appName > Tasks > help > dependencies.
омахена

3
@ cricket_007 Я згоден з вами, що ці два завдання різні. І я, можливо, тримаю це неправильно ... Але я не зміг знайти спосіб відображення дерева залежностей за допомогою Gradle 4.6 та androidDependenciesзавдання, подібного до того, що вказано у вашій відповіді. Результати були просто плоским списком, як кінцевий результат пошуку залежностей Gradle. Будь-яка ідея, чому і як отримати дерево як у вашій відповіді?
omahena

1
@omahena Ну, я скопіював прямо з документації. У моїй відповіді було сказаноapp:dependencies
OneCricketeer

22

Праворуч відкрийте вкладку gradle> клацніть піктограму gradle (виконайте завдання gradle), у спливаючому діалоговому вікні введіть:

app:dependencies

у полі командного рядка> добре


1
Це спрацювало для мене, коли я видалив app:і просто виконав dependencies. Це дає більш корисний результат, ніж метод у відповіді norbDEV, оскільки він показує дерево залежностей. Можливо, такий самий результат, як ./gradlew dependenciesі без необхідності встановлення JDK.
jk7,

1
@ jk7 app- це модуль за замовчуванням для проектів Android Studio. Якщо у вас немає модулів або ви хочете переглянути залежності для всіх модулів, так, це gradle dependenciesтакож працює
OneCricketeer

17

Android Studio 3. +

  • Відкрийте панель Gradle
  • Клацніть на піктограму слона , на якій є підказка "Виконати завдання Gradle"

Знімок екрана панелі Gradle + піктограма слона

  • Виберіть в додатку проект Gradle
  • У командному рядку вставте :dependencies
  • Клацніть OK

Знімок екрана: Запустити Gradle Task - Вікно

На панелі "Виконати" ви знайдете дерево залежностей.


Інший метод:

  • Відкрийте панель 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
  • Клацніть на піктограму слона
  • Виберіть в кореневій проект
  • У командному рядку вставте :dependencyUpdates
  • Клацніть OK
  • Почекай трохи

На панелі "Виконати" ви знайдете результат.


Це створює плоский список залежностей, а не дерева, тому не такий корисний, якщо вам потрібно з'ясувати, яка бібліотека використовує певну залежність. +1 для підказки "повернутися до звичайної конфігурації збірки".
jk7,

16

Нарешті, я зрозумів це. Що я роблю, це вибрати проект у меню Проект (див. Малюнок нижче).

введіть тут опис зображення


12
Це жодним чином не дерево залежностей . Дерева залежностей використовуються, наприклад, для пошуку суперечливих версій, коли бібліотека A використовує бібліотеку B версії 1, тоді як бібліотека C використовує бібліотеку B версії 2. Оскільки питання стоїть, ця відповідь є неправильною. Запитання слід оновити, щоб запитати список використаних бібліотек, або відповідь cricket_007 повинна бути прийнятою.
JHH

6

Android Studio 3.4

Перевірте та візуалізуйте кожну залежність у графіку залежностей вашого проекту, як це вирішено Gradle під час синхронізації проекту, виконавши такі дії:

  1. Android Studio -> Файл -> Структура проекту (діалогове вікно)
  2. На лівій панелі вікна "Структура проекту" виберіть Залежності .
  3. На панелі Модулі виберіть модуль, для якого ви хочете перевірити вирішені залежності.

Структура проекту

  1. Для Android Studio 3.6 і вище: праворуч у вікні "Структура проекту" подивіться на область Вирішені залежності . Нижче наведено приклад, де ви можете натиснути стрілки Розгорнути, щоб перейти до кожної підзалежності. Однак це не дозволяє шукати текст, як це робить вихід на консолі.

Панель вирішених залежностей

Вчи більше.


5

термінал, щоб побачити список усіх залежностей

 ./gradlew -q dependencies app:dependencies --configuration implementation

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.