在gradle中添加库作为aar文件无法实现接口

问题描述 投票:0回答:1

我可以更容易地向您展示,但长话短说。

  1. 主要应用
  2. 创建了一个库,我们称之为SECOND
  3. 创建了一个购物清单库,称之为第三个

当我在gradle文件中使用实现时,将我的THIRD依赖项添加到我的SECOND库时,由于某种原因,我无法实现接口。使用api时工作得很好。

此外,我们通过手动导入aar和pom文件来添加它。

项目级别Gradle for SECOND

allprojects {
    repositories {
        google()
        jcenter()
        maven { url "$projectDir/../THIRD" }
    }

}

实际允许访问接口的唯一方法是使用API​​ api('com.THIRD。@ aar')

android gradle kotlin libraries
1个回答
0
投票

这与预期完全一样:在编译库使用期间,库的implementation依赖项的声明不可见,并且仅在运行时可用。

相反,在编译库使用期间,api依赖关系也是可见的。

如果您不希望库用户从依赖项中查看声明,则应该只使用implementation配置,如果您希望用户从依赖项实现接口,则肯定不是这种情况。

见:Gradle dependency configuration: implementation vs api vs runtimeonly vs compileonly

© www.soinside.com 2019 - 2024. All rights reserved.