将aar文件包含到aar中

4

我有一个以aar格式分发的安卓库,大小为300kb。现在我想要创建另一个同样以aar格式分发的库,并使第一个库成为其依赖项。但是生成的结果库只有30kb,所以很明显它并没有包含第一个库。

我尝试使用flatDir添加第一个库:

repositories {
    flatDir {
        dirs 'libs'
    }
}
dependencies {
    compile(name:'mylib-1.0', ext:'aar')
}

使用maven-publish发布到mavenLocal

repositories {
    mavenLocal()
}
dependencies {
    compile 'com.mylib:mylib:1.0.0@aar'
}

但是它仍然没有将aar包含在结果中。

如何将我的第一个aar包含在结果aar中?

1个回答

4
最好的方法是将aar与maven仓库一起分发。
aar文件不包含传递依赖项,也没有描述库使用的依赖关系的pom文件。 这意味着,如果您正在使用flatDir存储库导入aar文件,则还必须在项目中指定依赖项。
使用maven存储库,您将不会遇到同样的问题。 在这种情况下,gradle使用包含依赖项列表的pom文件下载依赖项。

2
抱歉,但我没有在那里找到我的问题的答案。我想要依赖项被打包在结果aar中。如何做到这一点? 关于“maven repository”,我也不明白。我应该怎么办?我已经使用本地maven存储库,并且仍然遇到相同的问题。 - anber
据我所知,目前还没有一种自动的方式可以将一个aar文件包含在另一个aar文件中。如果你正在使用本地的Maven仓库,你应该检查pom文件。在里面,你应该有与另一个库(aar)的依赖关系。 - Gabriele Mariotti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接