Usando gradle para encontrar a tree de dependência

É possível usar gradle para produzir uma tree do que depende de quê?

Eu tenho um projeto e gostaria de descobrir todas as dependencies para que eu possa podá-lo um pouco com declarações futuras etc.

   

    Para Android, use esta linha

    gradle app:dependencies 

    ou se você tiver um wrapper gradle:

     ./gradlew app:dependencies 

    onde app é seu módulo de projeto.

    Além disso, se você quiser verificar se algo é compile vs testCompile vs dependência androidTestCompile , bem como o que está puxando-o:

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

    Você pode renderizar a tree de dependencies com as gradle dependencies do comando. Para obter mais informações, consulte a seção 11.6.4 Listando dependencies do projeto no guia do usuário on-line.

    Se você achar difícil navegar pela saída do console de gradle dependencies de gradle dependencies , poderá adicionar o plug – in de relatórios do Project :

     apply plugin: 'project-report' 

    E gere um relatório HTML usando:

     $ ./gradlew htmlDependencyReport 

    Normalmente, o relatório pode ser encontrado em build/reports/project/dependencies/index.html

    Se parece com isso: insira a descrição da imagem aqui

    No Android Studio (pelo menos desde a v2.3.3), você pode executar o comando diretamente da interface do usuário:

    Clique na aba Gradle e clique duas vezes em : yourmodule -> Tasks -> android -> androidDependencies

    A tree será exibida na guia Gradle Console

    Uma imagem vale mais que mil palavras

    Frequentemente, o gráfico de dependência completo de test , compile e androidTestCompile é muito para examinar em conjunto. Se você quer apenas o gráfico de dependência de compile você pode usar:

     ./gradlew app:dependencies --configuration compile 

    Fonte: Gradle docs seção 4.7.6

    Nota: a compile foi preterida em versões mais recentes do Gradle e em versões mais recentes você é aconselhado a mudar todas as suas dependencies de compile para implementation . Por favor, veja esta resposta aqui

    Se você quiser visualizar suas dependencies em um gráfico, você pode usar o plugin gradle-dependency-graph-generator .

    Exemplo de gráfico de dependencies em um aplicativo real ( Relógio de Xadrez ):

    gráfico

    No Android Studio

    1) Abra o terminal e verifique se você está na pasta raiz do projeto.

    2) Execute ./gradlew app:dependencies (se não estiver usando gradle wrapper, tente gradle app:dependencies )

    Note que a execução de ./gradle dependencies só lhe dará a tree de dependência da pasta raiz do projeto, portanto, mencionar o aplicativo acima, ou seja, ./gradlew app:dependencies é importante.

    Note que você pode precisar fazer algo como ./gradlew ::dependencies se o módulo tiver um diretório extra antes de atingir seu build.gradle. Em caso de dúvida, faça ./gradlew tasks --all para verificar o nome.

    Eu também achei útil para executar isso:

     ./gradlew dI --dependency  

    Isso mostra como as dependencies estão sendo resolvidas ( dependencyInsight ) e ajudam você a depurar onde é necessário forçar ou excluir bibliotecas em seu build.gradle

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

    Você deve usar isto: dependencies gradle para windows