我有一个Core项目,它与其他库有依赖关系。
Core build.gradle
dependencies {
implementation 'com.jakewharton:butterknife:9.0.0-rc2'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc2'
}
我还有另一个用户项目提到了核心。当用户项目,做参考核心库:
User build.gradle
dependencies {
implementation 'com.example: core: 1.0'
}
在用户项目中,我可以访问Butterknifer类,但当我在核心项目中引用时
User build.gradle
dependecies{
implementation project(":core")
}
我无法访问butterknife类(编译失败;有关详细信息,请参阅编译器错误输出。(
有什么方法可以引用core并能够使用core引用的依赖项吗?
这是implementation
配置的工作方式。
插件公开了两个可用于声明依赖关系的配置:
api
和implementation
。api
配置应用于声明库API导出的依赖关系,而implementation
配置应用于宣布组件内部的依赖关系。出现在
api
配置中的依赖项将被传递地暴露给库的使用者,因此将出现在使用者的编译类路径上implementation
配置中的依赖项不会暴露给使用者,因此不会泄漏到使用者的编译类路径中
将Butter Knife声明为api
依赖项,或者在user/build.gradle
中显式依赖它。