对我来说向您展示会比较容易,但长话短说。
当在gradle文件中使用实现将我的THIRD依赖项添加到我的SECOND库时,由于某种原因,我无法实现接口。使用api时,效果很好。
此外,我们通过手动导入aar和pom文件来添加此文件。
SECOND的项目级别爬网
allprojects {
repositories {
google()
jcenter()
maven { url "$projectDir/../THIRD" }
}
}
实际允许访问接口的唯一方法是使用API api('com.THIRD。@ aar')
答案 0 :(得分:0)
这完全符合预期:库的implementation
依赖项中的声明在编译库用法时不可见,并且仅在运行时可用。
相反,api
依赖性在库用法的编译过程中也是可见的。
仅当您不希望库用户从依赖项中看到声明时,才应使用implementation
配置,如果希望用户从依赖项中实现接口,则肯定不是这种情况。
请参阅:Gradle dependency configuration: implementation vs api vs runtimeonly vs compileonly