Gradle传递依赖于库模块内部的JAR

Kar*_*pka 6 java android jar gradle

我正在将一个Android多模块项目从Ant迁移到Gradle.
我们在库模块的libs目录中的repo中有一些jar.

依赖性如下:

AppModule依赖于LibModule.

AppModule中的代码无法访问LibModule中库jar的内容.
虽然它可以访问LibModule的源代码类(证明通常建立依赖关系).

Gradle文档说,默认情况下所有依赖项都是可传递的,但这种体验似乎使这种声明无效.这是一个错误还是有一些合理的原因?

我已经设法通过在AppModule中添加一个解决方法依赖项来破解它:

compile fileTree(dir: '../LibModule/libs', include: ['*.jar']) // HACK!
Run Code Online (Sandbox Code Playgroud)

但应该有更干的方法来做到这一点,对吧?

Gradle版本:2.1.

有趣的是,Android Studio似乎尊重jar的传递性,并不表示错误.

我正在构建使用时发生错误

./gradlew assembleDebug
Run Code Online (Sandbox Code Playgroud)

你发出典型的java错误信号:

error: package net.jcip.annotations does not exist
import net.jcip.annotations.NotThreadSafe;
                           ^
Run Code Online (Sandbox Code Playgroud)

我知道我也可以用maven-ish风格指定deps,但我们希望能够为我们的目的使用jars-in-the-repo.

TIA,Karol