812 Stimmen

Mit Gradle den Abhängigkeitsbaum finden

Ist es möglich, Gradle zu verwenden, um einen Baum von Abhängigkeiten zu erstellen?

Ich habe ein Projekt und möchte gerne alle Abhängigkeiten herausfinden, um es ein wenig mit Vorwärtsdeklarationen usw. bereinigen zu können.

942voto

Chad Bingham Punkte 30660

Ohne Module:

gradle dependencies

Für Android:

 gradle app:dependencies

Verwendung des Gradle-Wrapper:

./gradlew app:dependencies

Hinweis: Ersetzen Sie app durch den Modulnamen des Projekts.

Zusätzlich, wenn Sie überprüfen möchten, ob etwas eine compile vs. testCompile vs. androidTestCompile Abhängigkeit ist sowie was diese Abhängigkeit verursacht:

./gradlew :app:dependencyInsight --configuration compile --dependency 
./gradlew :app:dependencyInsight --configuration testCompile --dependency 
./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency

284voto

Benjamin Muschko Punkte 30856

Sie können den Abhängigkeitsbaum mit dem Befehl gradle dependencies rendern. Weitere Informationen finden Sie im Abschnitt Abhängigkeiten in einem Projekt auflisten im Online-Benutzerhandbuch.

214voto

Devstr Punkte 4371

Wenn Sie Probleme haben, die Konsolenausgabe von gradle dependencies zu navigieren, können Sie das Project-Reports-Plugin hinzufügen:

apply plugin: 'project-report'

Für ein Multimodulprojekt (bei den meisten Projekten) müssen Sie den Bericht so konfigurieren, dass auch die Unterprojekte eingeschlossen sind:

htmlDependencyReport {
    projects = project.allprojects
}

Und generieren Sie einen HTML-Bericht mit:

$ ./gradlew htmlDependencyReport

Der Bericht befindet sich normalerweise unter build/reports/project/dependencies/index.html

Es sieht so aus:Bildbeschreibung hier eingeben

90voto

In Android Studio (zumindest seit v2.3.3) können Sie den Befehl direkt über die Benutzeroberfläche ausführen:

Klicken Sie auf den Gradle Tab und doppelklicken Sie dann auf :yourmodule -> Tasks -> android -> androidDependencies

Der Baum wird im Tab Gradle Console angezeigt

Ein Bild sagt mehr als tausend Worte

60voto

David Rawson Punkte 18948

Oft ist der vollständige testImplementation, implementation und androidTestImplementation Abhängigkeitsgraph zu umfangreich, um ihn zusammen zu betrachten. Wenn Sie nur den implementation Abhängigkeitsgraph anzeigen möchten, können Sie folgendes verwenden:

./gradlew app:dependencies --configuration implementation

Quelle: Abhängigkeiten in einem Projekt auflisten

Hinweis: compile wurde in neueren Versionen von Gradle veraltet und es wird empfohlen, alle compile Abhängigkeiten auf implementation umzustellen. Bitte sehen Sie sich diese Antwort hier an

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X