2015-06-24 37 views
0

我想构建一个android库并将其打包为一个包含其他子库的aar。Gradle - 将android库与其他android库一起使用

我有这样一个项目:

SDK

  • mainLib
  • 力霸
  • libB

我想与力霸建设mainLib,libB内包装mainLib.aar。 这样我可以将mainLib分发给包含libA和libB的用户。

我mainLib build.grade依赖块如下所示:



dependencies 

    {
 

    compile project(‘:libA:libA-library')
 

    compile project(':libB:libB- library'')
 

 

    }

 

我已经尝试了以上,但我看到mainLib AAR不包含力霸和libB。请帮忙。

+0

你会使用maven系统分发这些库吗? –

+0

@GabrieleMariotti我使用gradle脚本来构建并发布图书馆的aar到Maven中心 – nmAndroid

回答

0

这是正确的。 MainLib.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和所有其他依赖项。

相关问题