嗨,我有一个gradle android项目,其中包含两个库模块:
- MyProject
|-- LibA
|-- LibB
因此LibB对LibA有依赖性。因此,LibB的build.gradle文件如下所示:
apply plugin: 'android-library'
apply plugin: 'maven'
uploadArchives {
repositories {
mavenDeployer {
repository(url: "file://$buildDir/repo")
pom.groupId = 'com.test.lib'
pom.version = '1.0'
}
}
}
dependencies {
compile 'com.android.support:support-v4:19.+'
compile project (':LibA')
}
如您所见,我想为gradle项目中的每个库模块生成.aar文件。到目前为止,一切都很好,但是生成对LibA具有正确依赖关系的pom.xml文件无法按预期工作:
LibB的pom.xml文件如下所示:
<dependency>
<groupId>com.android.support</groupId>
<artifactId>support-v4</artifactId>
<version>19.+</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>MyProject</groupId>
<artifactId>LibA</artifactId>
<version>unspecified</version>
<scope>compile</scope>
</dependency>
有没有一种方法可以指定LibA的maven依赖关系在生成的pom文件中应如何显示。
其他项目(如ActionBar-PullToRefresh)如何做到这一点?例如:ActionBar-PullToRefresh具有Actionbar sherlock的子库模块,该模块具有对:library的依赖关系
the mail ActionBar-PullToRefresh library
有什么建议吗?
最佳答案
我并不是真的很喜欢,但是我不会使用直接指向另一个项目的依赖项,而是使用一个定义组和 Artifact ID以及 Artifact 版本的依赖项,就像对android支持库所做的那样。
所以不
compile project (':LibA')
反而
compile ('com.example.lib:LibA:1.2')
编辑:之前说过“编译项目('com.example.lib:LibA:1.2')”,这是错误的。感谢布伦德尔指出这一点。