您好我有一个gradle安卓项目,其中包含两个库模块:
- 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
有什么建议吗?
答案 0 :(得分:2)
我并没有真正进入gradle,但是我没有使用直接指向另一个项目的依赖项,而是使用一个定义组和工件ID以及工件版本的依赖项,就像你一样使用android支持库。
所以不是
compile project (':LibA')
而是
compile ('com.example.lib:LibA:1.2')
编辑:之前声明的&#34;编译项目(&#39; com.example.lib:LibA:1.2&#39;)&#34;,这是错误的。感谢Blundell指出这一点。