У меня есть приложение для Android (App1), которое зависит от проекта библиотеки (Lib1). Проект библиотеки имеет несколько удаленных зависимостей (например, guava, библиотека поддержки Android и т. д.) и две локальные зависимости, которые представляют собой файлы JAR, хранящиеся в каталоге Lib1/libs/.
Вот как выглядит раздел зависимостей в build.gradle Lib1:
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:support-v4:20.0.+'
compile 'com.google.guava:guava:r08'
}
Если я компилирую только библиотеку (т.е. запускаю gradle assemble
в папке Lib1/), то она компилируется правильно, но когда я добавляю библиотеку в качестве зависимости App1, gradle жалуется, что не может найти две банки в папке libs/ Lib1.
Это build.gradle App1:
dependencies {
compile project(':Lib1')
compile 'org.apache.james:apache-mime4j-core:0.7.2'
compile 'org.apache.jackrabbit:jackrabbit-webdav:2.3.6'
...
}
Есть ли способ сообщить Gradle, что если библиотека зависит от локальных файлов jar, то проекты, зависящие от этой библиотеки, также должны включать их в качестве зависимостей? Удаленные зависимости работают нормально, но не тогда, когда у вас есть файлы jar в libs/.