我想构建一个android库并将其打包为其中包含其他子库的aar。
我有一个这样的项目:
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。请帮忙。
答案 0 :(得分:0)
这是对的。 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'
}
他将下载MainLib.aar和所有其他依赖项。