我有一个足够简单的Android库build.gradle
文件(删除了无关的部分),
apply plugin: 'com.android.library'
repositories {
maven { url 'https://dl.bintray.com/alexeydanilov/maven' }
}
dependencies {
compile 'com.danikula:videocache:1.0.1'
}
我希望能够构建一个包含我想要的所有文件的Android库.aar
,以及从videocache
外部模块下载的所有文件。
我已经尝试了许多不同的技术来尝试实现这一目标(另一个项目,改变传递'设置' export = true'的设置)但都证明不成功而且我不确定我还能尝试什么。
如果我将源.jar文件下载到libs中,将必要的位添加到设置文件中,它会正确打包到.aar
,但我似乎无法找到任何方法通过像这样参考外部模块来做到这一点。
答案 0 :(得分:0)
首先,不建议将外部lib包含在aar文件中。之前的答案可以找到here:
我引用了以下文字:
使用工件不将其包含在aar中。整点 使用远程工件是不依赖于罐子而是依赖于罐子 神器地址,以便项目使用你的' aar'可以解决所有 它的依赖图,查找重复项,解决冲突等...
如果你发布你的'aar'在Maven上,神器POM将包含 依赖。如果您从多项目设置,项目中使用它 产生'aar'将这些依赖项发送给项目 引用它。
对于本地jar,因为那些无法知道jar文件的内容 我们必须在本地打包它,但这不是你的意思 应该使用,如果你要提交' aar'到神器回购。
因此,如果您想要包含和使用您的“aar”#39;来自远程仓库的lib,您可以先发布它,然后将此行添加到依赖项中:
compile 'Replace with the link to your lib'
如果你想使用' aar'来自本地的文件,还有一个不太完美但工作的方式来包含所有外部库,这只是复制这一行:
compile 'com.danikula:videocache:1.0.1'
使用lib的项目中的依赖项。但无论如何这不推荐。
希望我的回答可以帮助你。