Jak wyświetlić drzewo zależności w Android Studio?


Odpowiedzi:


205

Obraz w pytaniu tak naprawdę nie przedstawia drzewa, tylko płaską listę wszystkiego, co zostało wkompilowane w aplikację.

Czy używasz Gradle?

Jeśli tak, możesz naprawdę zobaczyć to „drzewo”, uruchamiając polecenie Gradle

Dokumentacja systemu Android : wyświetl drzewo zależności

GUI

  1. Wybierz polecenie Widok > Okna narzędzi > Gradle (lub kliknij ikonę Gradle na pasku narzędzi).
  2. Rozwiń nazwę aplikacji > Zadania > android i kliknij dwukrotnie androidDependencies. Po wykonaniu zadania przez Gradle powinno otworzyć się okno Uruchom, aby wyświetlić dane wyjściowe.

CLI

(tworzy listę drzewiastą)

./gradlew app:dependencies

i / lub

(tworzy płaską listę)

./gradlew app:androidDependencies

Gdzie appjest nazwa twojego modułu

I dostajesz coś takiego

+--- 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

Uwaga : jeśli uruchomisz ls(lub dirw systemie Windows) w tym folderze i nie widzisz gradlew(lub gradlew.bat), jesteś w niewłaściwym folderze.


1
Dzięki, bardzo mi pomogło w wyśledzeniu niektórych przejściowych zależności.
Mark Keen

3
Nie jest to jednak to, co pokazujesz w tej odpowiedzi, to tylko nieinteraktywna lista tekstowa zależności
Tristan

6
Może to być nowsza wersja gradle, ale drzewo zależności wydaje się być wyświetlane z ./gradlew appName:dependencies. W Android Studio można go znaleźć pod appName > Tasks > help > dependencies.
omahena

3
@ cricket_007 Zgadzam się z tobą, że te dwa zadania są różne. I może źle to rozumiem ... Ale nie mogłem znaleźć sposobu na wyświetlenie drzewa zależności w Gradle 4.6 i androidDependencieszadaniu podobnym do tego w Twojej odpowiedzi. Wyniki były tylko płaską listą, taką jak końcowy wynik wyszukiwania zależności Gradle. Masz jakiś pomysł, dlaczego i jak zdobyć drzewo takie jak w Twojej odpowiedzi?
omahena

1
@omahena Cóż, skopiowałem prosto z dokumentacji. Moja odpowiedź brzmiałaapp:dependencies
OneCricketeer

22

Po prawej stronie otwórz zakładkę gradle> kliknij ikonę gradle (wykonaj zadanie gradle), w wyskakującym oknie dialogowym wpisz:

app:dependencies

w polu wiersza poleceń> ok


1
To zadziałało, gdy usunąłem app:i po prostu wykonałem dependencies. Daje to bardziej użyteczne dane wyjściowe niż metoda w odpowiedzi norbDEV, ponieważ pokazuje drzewo zależności. Prawdopodobnie taki sam wynik jak, ./gradlew dependenciesale bez konieczności instalowania JDK.
jk7

1
@ jk7 appto domyślny moduł dla projektów Android Studio. Jeśli nie masz modułów lub chcesz zobaczyć zależności dla wszystkich modułów, tak, gradle dependenciesrównież działa
OneCricketeer

18

Android Studio 3. +

  • Otwórz panel Gradle
  • Kliknij ikonę słonia z etykietką „Wykonaj zadanie Gradle”

Zrzut ekranu panelu Gradle + ikona słonia

  • Wybierz projekt aplikacji Gradle
  • W wierszu poleceń wklej :dependencies
  • Kliknij OK

Zrzut ekranu: Uruchom zadanie Gradle - okno

W panelu Uruchom znajdziesz drzewo zależności.


Inna metoda:

  • Otwórz panel Gradle

  • Znajdź przyrostek „(root)” i otwórz (nazwa folderu aplikacji)

  • Otwórz węzeł Zadania

  • Otwórz węzeł Androida

  • Kliknij dwukrotnie „androidDependencies”

W panelu Uruchom znajdziesz listę zależności

Przed normalną budową przełącz się z powrotem do normalnej konfiguracji kompilacji (obok młotka)


Kolejne przydatne narzędzie:

Jak sprawdzić, która zależność jest aktualizowana: https://github.com/ben-manes/gradle-versions-plugin

Stosowanie

  • Dodaj to do build.gradle na poziomie projektu

    apply plugin: "com.github.ben-manes.versions"
    
    buildscript {
      repositories {
        jcenter()    
      }
    
      dependencies {
        classpath "com.github.ben-manes:gradle-versions-plugin:0.20.0"
      }
    }
    
  • Synchronizuj teraz

  • Otwórz panel Gradle
  • Kliknij ikonę słonia
  • Wybierz z głównego projektu
  • W wierszu poleceń wklej :dependencyUpdates
  • Kliknij OK
  • Poczekaj chwilę

W panelu Uruchom znajdziesz wynik.


Tworzy to płaską listę zależności, a nie drzewo, więc nie jest tak przydatne, jeśli chcesz dowiedzieć się, która biblioteka używa określonej zależności. +1 za wskazówkę „przełącz się z powrotem do normalnej konfiguracji kompilacji”.
jk7

16

W końcu to rozgryzłem. Co robię, to wybieram Project z menu Project (patrz obrazek poniżej).

wprowadź opis obrazu tutaj


12
W żadnym wypadku nie jest to drzewo zależności . Drzewa zależności są używane np. Do znalezienia sprzecznych wersji, gdy biblioteka A korzysta z biblioteki B w wersji 1, podczas gdy biblioteka C korzysta z biblioteki B w wersji 2. W obecnym brzmieniu ta odpowiedź jest nieprawidłowa. Pytanie powinno zostać zaktualizowane, aby poprosić o listę używanych bibliotek, lub odpowiedź cricket_007 powinna być zaakceptowana.
JHH

6

Android Studio 3.4.0

Sprawdź i zwizualizuj każdą zależność na wykresie zależności projektu, rozwiązaną przez Gradle podczas synchronizacji projektu, wykonując następujące kroki:

  1. Android Studio -> Plik -> Struktura projektu (okno dialogowe)
  2. W lewym panelu okna „Struktura projektu” wybierz Zależności .
  3. w okienku Moduły wybierz moduł, dla którego chcesz sprawdzić rozwiązane zależności.

Struktura projektu

  1. Android Studio 3.6 i nowsze: po prawej stronie okna „Struktura projektu” spójrz na rozwiązane zależności panel . Poniżej przedstawiono przykład, w którym można kliknąć strzałki rozwijania, aby przejść do każdej zależności podrzędnej. Jednak nie pozwala na wyszukiwanie tekstu, tak jak robi to wyjście konsoli.

Okienko rozwiązanych zależności

Ucz się więcej.


5

terminal, aby wyświetlić listę wszystkich zależności, to

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

3

Kliknij kartę Gradle i przejdź do AppName > Zadania> pomoc> zależności

Zależności Android Studio

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.