¿Es posible usar gradle para producir un árbol de lo que depende de qué?
Tengo un proyecto y me gustaría conocer todas las dependencias para que pueda podarlo un poco con declaraciones futuras, etc.
Para Android, use esta línea
gradle app:dependencies
o si tienes un contenedor gradle:
./gradlew app:dependencies
donde la app
es su módulo de proyecto.
Además, si desea comprobar si algo es compile
contra testCompile
vs androidTestCompile
dependency, así como también lo que está tirando de él:
./gradlew :app:dependencyInsight --configuration compile --dependency ./gradlew :app:dependencyInsight --configuration testCompile --dependency ./gradlew :app:dependencyInsight --configuration androidTestCompile --dependency
Puede representar el árbol de dependencias con el comando de gradle dependencies
. Para obtener más información, consulte la sección 11.6.4 Listado de dependencias de proyecto en la guía del usuario en línea.
Si le resulta difícil navegar el resultado de la consola de gradle dependencies
, puede agregar el plugin de informes del proyecto :
apply plugin: 'project-report'
Y genere un informe HTML usando:
$ ./gradlew htmlDependencyReport
El informe normalmente se puede encontrar en build/reports/project/dependencies/index.html
Se parece a esto:
En Android Studio (al menos desde v2.3.3) puede ejecutar el comando directamente desde la interfaz de usuario:
Haga clic en la pestaña Gradle y luego haga doble clic en : yourmodule -> Tasks -> android -> androidDependencies
El árbol se mostrará en la pestaña Gradle Console
A menudo, el gráfico de dependencia completo de test
, compile
y androidTestCompile
es demasiado para examinarlos juntos. Si simplemente desea el gráfico de dependencia de compile
, puede usar:
./gradlew app:dependencies --configuration compile
Fuente: Gradle documentos sección 4.7.6
Nota: la compile
ha quedado obsoleta en las versiones más recientes de Gradle y, en versiones más recientes, se recomienda cambiar todas las dependencias de compile
a la implementation
. Por favor mira esta respuesta aquí
Si desea visualizar sus dependencias en un gráfico, puede usar el complemento gradle-dependency-graph-generator .
Ejemplo de gráfico de dependencias en una aplicación real ( Chess Clock ):
En Android Studio
1) Abra la terminal y asegúrese de estar en la carpeta raíz del proyecto.
2) Ejecuta la ./gradlew app:dependencies
(si no está usando gradle wrapper, prueba la gradle app:dependencies
)
Tenga en cuenta que la ejecución de ./gradle dependencies
solo le dará el árbol de dependencias de la carpeta raíz del proyecto, por lo que es importante mencionar la aplicación de la manera anterior, es decir, la ./gradlew app:dependencies
.
Tenga en cuenta que puede necesitar hacer algo como ./gradlew
si el módulo tiene un directorio adicional antes de llegar a build.gradle. En caso de duda, haga ./gradlew tasks --all
para verificar el nombre.
También encontré útil para ejecutar esto:
./gradlew dI --dependency
Esto muestra cómo se resuelven las dependencias ( dependencyInsight
) y lo ayudan a depurar en dónde necesita forzar o excluir bibliotecas en su build.gradle
Ver: https://docs.gradle.org/current/userguide/tutorial_gradle_command_line.html
Deberías usar esto: dependencias gradle para windows