Как сделать Gradle Загрузка библиотек зависимостей в каталог проектов

Есть ли способ, с помощью которого gradle загружать библиотеки зависимостей в каталог проекта, как и maven? Я знаю, что gradle хранит собственный кеш в локальном каталоге, но как узнать, какие библиотеки будут использоваться для моего проекта, особенно библиотека, определенная в файле build.gradle, имеет свою зависимость?

Ответ 1

Чтобы узнать, какие библиотеки будут использоваться для вашего проекта, вы можете использовать задачу зависимости. Это поможет вам узнать зависимости вашего модуля и его рекурсивных зависимостей.

Если ваше имя модуля app, вы можете попробовать gradle :app:dependencies в каталоге проекта. В качестве вывода вы получите что-то вроде ниже.

compile - Classpath for compiling the main sources.
\--- com.android.support:appcompat-v7:22.2.0                             
     \--- com.android.support:support-v4:22.2.0
          \--- com.android.support:support-annotations:22.2.0

Здесь com.android.support:appcompact-v7:22.2.0 - зависимость модуля, а ниже - его рекурсивная зависимость.

Если вы действительно хотите получить зависимости в каталоге проекта, тогда вы можете создать для него задачу следующим образом.

task copyDependencies(type: Copy) {
   from configurations.compile   
   into 'dependencies'
}

теперь вы можете запустить gradle :app:copyDependencies, чтобы получить все зависимости в местоположении <projectDir>/app/dependencies. Обратите внимание, что это просто дает вам зависимости в каталоге проекта, а gradle все еще разрешает зависимости из локального кеша.