Mein Ziel ist es, den Baum der Abhängigkeiten (z. B. appcompat, dagger usw.) in einem bestimmten Projekt anzuzeigen.
Wie die IntelliJ:
Das Bild in der Frage zeigt nicht wirklich einen Baum, sondern nur eine flache Liste aller in der App zusammengestellten Elemente.
Verwenden Sie Gradle?
Wenn ja, können Sie den "Baum" wirklich sehen, indem Sie einen Gradle-Befehl ausführen
Android-Dokumentation: Den Abhängigkeitsbaum anzeigen
- Wählen Sie View> Tool Windows> Gradle (oder klicken Sie auf das Gradle-Symbol in der Tool-Fensterleiste).
- Erweitern Sie AppName> Tasks> Android, und doppelklicken Sie auf
androidDependencies
. Nachdem Gradle die Aufgabe ausgeführt hat, wird das Ausführungsfenster sollte sich öffnen, um die Ausgabe anzuzeigen.
./gradlew app:dependencies
und/oder
./gradlew app:androidDependencies
Dabei ist app
der Name Ihres Moduls
Und du bekommst so etwas
+--- 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
Note: Wenn Sie ls
(oder dir
unter Windows) in diesem Ordner ausführen und gradlew
(oder gradlew.bat
) nicht anzeigen, befinden Sie sich im falschen Ordner.
Öffnen Sie auf der rechten Seite die Registerkarte Gradle> klicken Sie auf das Gradle-Symbol (Gradle-Task ausführen) und geben Sie im Popup-Dialogfeld Folgendes ein:
app:dependencies
im Befehlszeilenfeld> ok
dependencies
Im Run Panel finden Sie den Abhängigkeitsbaum
Eine andere Methode:
Öffne das Gradle-Panel
Finde das "(root)" Postfix und öffne (Ordnername der App)
Öffnen Sie den Knoten Tasks
Öffnen Sie den Android-Knoten
Doppelklicken Sie auf die "androidDependencies"
Im Run Panel finden Sie die Abhängigkeitsliste
Vor einem normalen Build wechseln Sie zurück zur normalen Build-Konfiguration (neben dem Hammer)
So finden Sie heraus, welche Abhängigkeit aktualisiert wurde: https://github.com/ben-manes/gradle-versions-plugin
Verwendung
Fügen Sie dies zu build.gradle auf Projektebene hinzu
apply plugin: "com.github.ben-manes.versions"
buildscript {
repositories {
jcenter()
}
dependencies {
classpath "com.github.ben-manes:gradle-versions-plugin:0.20.0"
}
}
Jetzt synchronisieren
dependencyUpdates
Im Run Panel finden Sie das Ergebnis.
Untersuchen und visualisieren Sie jede Abhängigkeit im Abhängigkeitsdiagramm Ihres Projekts, die von Gradle während der Projektsynchronisierung aufgelöst wurde, indem Sie die folgenden Schritte ausführen:
terminalbefehl, um alle Abhängigkeiten anzuzeigen, ist
./gradlew -q dependencies app:dependencies --configuration implementation