Какие знаешь способы поиска зависимости, которые подтягивают определённую саб-зависимость

«Какие знаешь способы поиска зависимости, которые подтягивают определённую саб-зависимость» — вопрос из категории Gradle и сборка, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Gradle можно найти зависимости, включая саб-зависимости, несколькими способами:

  1. dependencies task
    ./gradlew app:dependencies
Покажет дерево зависимостей для модуля `app`. Можно фильтровать по конфигурации (`implementation`, `api` и т.д.):
    ./gradlew app:dependencies --configuration implementation
  1. dependencyInsight
    Для анализа конкретной зависимости (например, com.google.guava):
    ./gradlew dependencyInsight --dependency com.google.guava
  1. Android Studio
    В ProjectGradleappTaskshelp есть задачи dependencies и dependencyInsight.

  2. build.gradle с resolutionStrategy
    Можно форсировать версию саб-зависимости:

    configurations.all {
        resolutionStrategy.force 'com.google.guava:guava:30.1.1-jre'
    }