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

时间:2014-12-05 15:36:09

标签: 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!

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

Gradle版本:2.1。

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

当我使用

构建时发生错误
./gradlew assembleDebug

发出典型的java错误信号:

error: package net.jcip.annotations does not exist
import net.jcip.annotations.NotThreadSafe;
                           ^

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

TIA,Karol

0 个答案:

没有答案