Como faço para mostrar a árvore de dependências no Android Studio?

Respostas:

205

A imagem em questão não mostra realmente uma árvore, apenas uma lista plana de tudo compilado no aplicativo.

Você está usando o Gradle?

Em caso afirmativo, você pode realmente ver a "árvore" executando um comando Gradle

Documentação do Android : veja a árvore de dependências

GUI

  1. Selecione Exibir > Janelas de ferramentas > Gradle (ou clique no ícone do Gradle na barra da janela de ferramentas).
  2. Expanda AppName > Tasks > android e clique duas vezes androidDependencies. Depois que o Gradle executa a tarefa, a janela Executar deve abrir para exibir a saída.

CLI

(produz uma lista semelhante a uma árvore)

./gradlew app:dependencies

e / ou

(produz uma lista plana)

./gradlew app:androidDependencies

Onde appestá o nome do seu módulo

E você consegue algo assim

+--- 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

Nota : Se você executa ls(ou dirno Windows) nessa pasta e não vê gradlew(ou gradlew.bat), você está na pasta errada.

OneCricketeer
fonte
1
Obrigado, me ajudou muito a rastrear algumas dependências temporárias.
Mark Keen,
3
Não é o que você está mostrando nesta resposta, é apenas uma lista de texto não interativa de dependências
Tristan
6
Esta pode ser uma versão mais recente do Gradle, mas a árvore de dependências parece ser exibida com ./gradlew appName:dependencies. No Android Studio, ele pode ser encontrado em appName > Tasks > help > dependencies.
omahena
3
@ cricket_007 Concordo com você que as duas tarefas são diferentes. E posso estar entendendo errado ... Mas não consegui encontrar uma maneira de exibir uma árvore de dependências com o Gradle 4.6 e a androidDependenciestarefa como aquela em sua resposta. Os resultados foram apenas uma lista plana como o resultado final de uma pesquisa de dependência do Gradle. Alguma ideia de por que e como obter uma árvore como na sua resposta?
omahena
1
@omahena Bem, copiei direto da documentação. Minha resposta costumava dizerapp:dependencies
OneCricketeer
22

No lado direito, abra a guia Gradle> clique no ícone Gradle (execute a tarefa Gradle), na caixa de diálogo pop-up digite:

app:dependencies

no campo da linha de comando> ok

JimmyFlash
fonte
1
Isso funcionou para mim uma vez que removi app:e apenas executei dependencies. Isso fornece uma saída mais útil do que o método na resposta do norbDEV, pois mostra uma árvore de dependências. Possivelmente a mesma saída, ./gradlew dependenciesmas sem a necessidade de instalar um JDK.
jk7,
1
@ jk7 appé o módulo padrão para projetos do Android Studio. Se você não tem módulos ou deseja ver dependências para todos os módulos, sim, gradle dependenciestambém funciona
OneCricketeer
18

Android Studio 3. +

  • Abra o painel Gradle
  • Clique no ícone de elefante , que tem a dica "Execute Gradle Task"

Captura de tela do painel Gradle + ícone de elefante

  • Selecione o projeto do app gradle
  • Na linha de comando, cole :dependencies
  • Clique OK

Captura de tela: Executar Tarefa Gradle - Janela

No painel Executar, você encontrará a árvore de dependências.


Outro método:

  • Abra o painel Gradle

  • Encontre o postfix "(root)" e abra (nome da pasta do aplicativo)

  • Abra o nó Tarefas

  • Abra o nó do Android

  • Clique duas vezes em "androidDependencies"

No painel Executar você encontrará a lista de dependências

Antes de uma construção normal, volte para a configuração de construção normal (ao lado do martelo)


Outra ferramenta útil:

Como descobrir qual dependência é atualizada: https://github.com/ben-manes/gradle-versions-plugin

Uso

  • Adicione isso ao nível do projeto build.gradle

    apply plugin: "com.github.ben-manes.versions"
    
    buildscript {
      repositories {
        jcenter()    
      }
    
      dependencies {
        classpath "com.github.ben-manes:gradle-versions-plugin:0.20.0"
      }
    }
    
  • Sincronize agora

  • Abra o painel Gradle
  • Clique no ícone do elefante
  • Selecione o projeto raiz
  • Na linha de comando, cole :dependencyUpdates
  • Clique OK
  • Espere um pouco

No painel Executar, você encontrará o resultado.

norbDEV
fonte
Isso cria uma lista simples de dependências em vez de uma árvore, portanto, não é tão útil se você precisa descobrir qual biblioteca está usando uma dependência específica. +1 para a dica "voltar à configuração de construção normal".
jk7,
16

Finalmente, eu descobri. O que eu faço é selecionar Projeto no menu Projeto (veja a imagem abaixo).

insira a descrição da imagem aqui

fruqi
fonte
12
Esta não é de forma alguma uma árvore de dependência . Árvores de dependência são usadas, por exemplo, para encontrar versões conflitantes quando a biblioteca A usa a biblioteca B versão 1, enquanto a biblioteca C usa a biblioteca B versão 2. Como a pergunta está, esta resposta não está correta. A pergunta deve ser atualizada para solicitar uma lista de bibliotecas usadas, ou a resposta de cricket_007 deve ser a aceita.
JHH de
6

Android Studio 3.4

Inspecione e visualize cada dependência no gráfico de dependências de seu projeto, conforme resolvido pelo Gradle durante a sincronização do projeto, seguindo estas etapas:

  1. Android Studio -> Arquivo -> Estrutura do Projeto (caixa de diálogo)
  2. No painel esquerdo da janela "Estrutura do Projeto", selecione Dependências .
  3. No painel Módulos , selecione um módulo para o qual gostaria de inspecionar as dependências resolvidas.

Estrutura do Projeto

  1. Para Android Studio 3.6 e superior: No lado direito da janela "Estrutura do projeto", observe o painel Dependências resolvidas . Um exemplo é mostrado abaixo, onde você pode clicar nas setas de expansão para navegar em cada subdependência. No entanto, ele não permite a pesquisa de texto, como a saída do console permite.

Painel de Dependências Resolvidas

Saber mais.

Anor
fonte
5

comando do terminal para ver todas as listas de dependências é

 ./gradlew -q dependencies app:dependencies --configuration implementation
vikas kumar
fonte
3

Clique na guia Gradle e vá para AppName > Tasks> help> dependencies

Dependências do Android Studio

Wirling
fonte