Объявите локальный файл jar как транзитивную зависимость проекта библиотеки

У меня есть приложение для 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/.


person Mike Laren    schedule 14.10.2014    source источник