Meu objetivo é ver a árvore de dependências (como: appcompat, dagger, etc) em um determinado projeto.
Como o IntelliJ:
Respostas:
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
- Selecione Exibir > Janelas de ferramentas > Gradle (ou clique no ícone do Gradle na barra da janela de ferramentas).
- 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.
(produz uma lista semelhante a uma árvore)
./gradlew app:dependencies
e / ou
(produz uma lista plana)
./gradlew app:androidDependencies
Onde app
está 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 dir
no Windows) nessa pasta e não vê gradlew
(ou gradlew.bat
), você está na pasta errada.
./gradlew appName:dependencies
. No Android Studio, ele pode ser encontrado em appName > Tasks > help > dependencies
.
androidDependencies
tarefa 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?
app:dependencies
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
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 dependencies
mas sem a necessidade de instalar um JDK.
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 dependencies
também funciona
dependencies
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)
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
dependencyUpdates
No painel Executar, você encontrará o resultado.
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:
comando do terminal para ver todas as listas de dependências é
./gradlew -q dependencies app:dependencies --configuration implementation