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