我正在将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