在Gradle中将库添加为AAR文件无法实现接口

时间:2019-02-25 15:21:33

标签: android gradle kotlin libraries

对我来说向您展示会比较容易,但长话短说。

  1. 主要应用程序
  2. 创建了一个库,我们称之为SECOND
  3. 创建了一个名为THIRD的购物清单库

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

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

SECOND的项目级别爬网

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

}

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

1 个答案:

答案 0 :(得分:0)

这完全符合预期:库的implementation依赖项中的声明在编译库用法时不可见,并且仅在运行时可用。

相反,api依赖性在库用法的编译过程中也是可见的。

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

请参阅:Gradle dependency configuration: implementation vs api vs runtimeonly vs compileonly