Разница между внешними и проектными зависимостями в Gradle заключается в месте их загрузки:
- Внешние зависимости загружаются из внешних репозиториев. 1 Для их объявления используется имя конфигурации (например, implementation, compileOnly, testImplementation) и нотация зависимости, которая включает ID группы, ID артефакта и версию. 2
- Проектные зависимости — это зависимость от модуля (подпроекта) в рамках одного проекта. 1 Такие зависимости полезны в мультипроектных сборках, где несколько проектов являются частью одной сборки Gradle. 2
Таким образом, внешние зависимости загружаются извне, а проектные — внутри одного проекта.