Moim celem jest zobaczenie drzewa zależności (takich jak: appcompat, dagger itp.) W konkretnym projekcie.
Jak ten IntelliJ:
Odpowiedzi:
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
- Wybierz polecenie Widok > Okna narzędzi > Gradle (lub kliknij ikonę Gradle na pasku narzędzi).
- 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.
(tworzy listę drzewiastą)
./gradlew app:dependencies
i / lub
(tworzy płaską listę)
./gradlew app:androidDependencies
Gdzie app
jest 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 dir
w systemie Windows) w tym folderze i nie widzisz gradlew
(lub gradlew.bat
), jesteś w niewłaściwym folderze.
./gradlew appName:dependencies
. W Android Studio można go znaleźć pod appName > Tasks > help > dependencies
.
androidDependencies
zadaniu 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?
app:dependencies
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
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 dependencies
ale bez konieczności instalowania JDK.
app
to 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 dependencies
również działa
dependencies
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)
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
dependencyUpdates
W panelu Uruchom znajdziesz wynik.
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:
terminal, aby wyświetlić listę wszystkich zależności, to
./gradlew -q dependencies app:dependencies --configuration implementation