我想建立一个Android库,并将其与其他子库一起打包。
我有一个像这样的项目:
sdk
我想用libA构建mainLib,将libB打包在mainLib.aar中。
这样,我可以将mainLib分发给包含libA和libB的用户。
我的mainLib build.grade依赖关系块如下所示:
dependencies
{
compile project(‘:libA:libA-library')
compile project(':libB:libB- library'')
}
我已经尝试了上面的方法,但是我发现mainLib aar不包含libA和libB。请帮忙。
最佳答案
它是正确的。 MainLib.aar不包含其他aar库。
但是,Maven将管理正确的依赖项。
如果您将发布在Maven仓库中,您将看到以下内容:
libA.pom
<project>
<groupId>mygroupID</groupId>
<artifactId>libA</artifactId>
<version>X.Y.Z</version>
<packaging>aar</packaging>
</project>
MainLib.pom
<project>
<groupId>mygroupID</groupId>
<artifactId>mainLib</artifactId>
<version>X.Y.Z</version>
<packaging>aar</packaging>
<dependencies>
<dependency>
<groupId>mygroupID</groupId>
<artifactId>libA</artifactId>
<version>X.Y.Z</version>
<scope>compile</scope>
</dependency>
</dependencies>
</project>
这意味着如果有人将使用
build.gradle
:dependencies{
compile 'mygroupID:mainLib:X.Y.Z'
}
Gradle将下载MainLib.aar和所有其他依赖项。