使用实现项目时,传递引用在gradle中不起作用



我有一个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配置的工作方式。

插件公开了两个可用于声明依赖关系的配置:apiimplementationapi配置应用于声明库API导出的依赖关系,而implementation配置应用于宣布组件内部的依赖关系。

出现在api配置中的依赖项将被传递地暴露给库的使用者,因此将出现在使用者的编译类路径上implementation配置中的依赖项不会暴露给使用者,因此不会泄漏到使用者的编译类路径中

将Butter Knife声明为api依赖项,或者在user/build.gradle中显式依赖它。

最新更新