为了账号安全,请及时绑定邮箱和手机立即绑定

本地AAR库的传递依存关系

本地AAR库的传递依存关系

POPMUISE 2019-12-26 10:58:33
我们正在制作一些库,基本上是为我们的API编写的,这将使我们的外部开发人员的工作更加轻松。因此,我们创建了新的库项目,并将Retrofit和其他一些库作为依赖项。dependencies {    compile 'com.android.support:appcompat-v7:23.3.0'    compile 'com.google.code.gson:gson:2.6.2'    compile 'com.squareup.retrofit2:retrofit:2.0.1'    compile 'com.squareup.retrofit2:converter-gson:2.0.1'    compile 'com.squareup.okhttp3:okhttp:3.2.0'}现在,当我们构建它时,它将生成aar文件。但现在当我们把aar文件libs目录,并将其设置为依赖,我们还是必须把相同的依赖于用户的build.gradle文件,它很烂。应该从图书馆取走吧?repositories {    flatDir {        dirs 'libs'    }}dependencies {    compile(name: 'ourlibrary', ext: 'aar') {        transitive = true;    }}如何transitive = true上班?
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

AAR文件不包含嵌套(或传递)的依赖关系,并且不具有其描述库所使用的依赖关系的POM文件。

这意味着,如果要使用存储库导入aar文件,则flatDir还必须在项目中指定依赖项。

就您而言transitive=true,由于上述原因,添加无法解决您的问题。

您应该使用Maven存储库(您必须在私有或公共Maven存储库中发布库),不会遇到相同的问题。
在这种情况下,gradle使用pom文件下载依赖项,该文件将包含依赖项列表。


查看完整回答
反对 回复 2019-12-26
  • 1 回答
  • 0 关注
  • 725 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信