Usare gradle per trovare l’albero delle dipendenze

È ansible usare gradle per produrre un albero di cosa dipende da cosa?

Ho un progetto e vorrei scoprire tutte le dipendenze, quindi potrei riuscire a potarlo un po ‘con le dichiarazioni in avanti, ecc.

Per Android, usa questa linea

gradle app:dependencies 

o se hai un involucro gradle:

 ./gradlew app:dependencies 

dove app è il tuo modulo di progetto.

Inoltre, se si desidera verificare se qualcosa è compile rispetto a testCompile vs androidTestCompile dipendenza così come ciò che sta tirando in:

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

È ansible eseguire il rendering dell’albero delle dipendenze con le gradle dependencies del comando. Per maggiori informazioni, consultare la sezione 11.6.4 Elenco delle dipendenze del progetto nella guida utente online.

Se trovi difficoltà gradle dependencies output della console delle gradle dependencies , puoi aggiungere il plug-in Report dei progetti :

 apply plugin: 'project-report' 

E generare un report HTML utilizzando:

 $ ./gradlew htmlDependencyReport 

Il rapporto può essere normalmente trovato in build/reports/project/dependencies/index.html

Sembra questo: inserisci la descrizione dell'immagine qui

In Android Studio (almeno dalla v2.3.3) puoi eseguire il comando direttamente dall’interfaccia utente:

Fare clic sulla scheda Gradle e quindi fare doppio clic su : yourmodule -> Tasks -> android -> androidDependencies

L’albero verrà visualizzato nella scheda Gradle Console

Un'immagine vale più di mille parole

Spesso il grafico androidTestCompile dipendenze test , compile e androidTestCompile è troppo da esaminare insieme. Se si desidera semplicemente il grafico della dipendenza di compile è ansible utilizzare:

 ./gradlew app:dependencies --configuration compile 

Fonte: sezione Gradle docs 4.7.6

Nota: la compile è stata deprecata nelle versioni più recenti di Gradle e nelle versioni più recenti è consigliabile spostare tutte le dipendenze di compile implementation . Si prega di vedere questa risposta qui

Se vuoi visualizzare le tue dipendenze in un grafico, puoi usare il plugin gradle-dependency-graph-generator .

Esempio di grafico delle dipendenze in un’app reale ( Chess Clock ):

grafico

In Android Studio

1) Apri il terminale e assicurati di essere nella cartella principale del progetto.

2) Esegui ./gradlew app:dependencies (se non si utilizza il wrapper gradle, prova gradle app:dependencies )

Nota che le ./gradle dependencies esecuzione ./gradle dependencies ti daranno solo l’albero delle dipendenze della cartella radice del progetto, quindi menzionando l’app in modo sopra, vale a ./gradlew app:dependencies sono importanti.

Si noti che potrebbe essere necessario fare qualcosa come ./gradlew ::dependencies se il modulo ha una directory extra prima di raggiungere il suo build.gradle. In caso di dubbio, fare ./gradlew tasks --all per controllare il nome.

Ho trovato anche utile per eseguire questo:

 ./gradlew dI --dependency  

Questo mostra come vengono risolte le dipendenze ( dependencyInsight ) e ti aiutano a eseguire il debug nel punto in cui devi forzare o escludere le librerie nel build.gradle

Vedi: https://docs.gradle.org/current/userguide/tutorial_gradle_command_line.html

Dovresti usare questo: dipendenze gradle per windows