Android 匕首;无法访问SomeComponent“;在构建期间

Android 匕首;无法访问SomeComponent“;在构建期间,android,gradle,dagger-2,Android,Gradle,Dagger 2,我用Dagger 2启动了一个新项目。模块结构如下所示(→ 含义取决于使用实现): 应用程序→ 资料→ 网络 每个模块都有自己的Dagger组件(例如AppComponent、DataComponent和NetworkComponent) 此设置背后的思想是应用程序模块无法访问网络,而只知道数据。实际结构更复杂,但这是主要原则 虽然Android Studio对这个设置非常满意,但gradle不会编译它 错误是: > Task :app:kaptReleaseKotlin FAILED e

我用Dagger 2启动了一个新项目。模块结构如下所示(→ 含义取决于使用
实现
):

应用程序→ 资料→ 网络

每个模块都有自己的Dagger组件(例如
AppComponent
DataComponent
NetworkComponent

此设置背后的思想是
应用程序
模块无法访问
网络
,而只知道
数据
。实际结构更复杂,但这是主要原则

虽然Android Studio对这个设置非常满意,但gradle不会编译它

错误是:

> Task :app:kaptReleaseKotlin FAILED
error: cannot access NetworkComponent
  class file for com.somepackage.network.di.NetworkComponent not found

* What went wrong:
Execution failed for task ':app:kaptReleaseKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
   > java.lang.reflect.InvocationTargetException (no error message)
因此,在编译
app
模块时,它无法解析它无权访问的类,但是
app
模块的源代码中没有引用该类。匕首似乎在试图接近它

如果我添加依赖应用程序→ 网络应用程序编译并运行良好

你知道如何在阻止
应用程序
访问
网络
的同时解决这个问题吗?这种分离对我们很重要

> Task :app:kaptReleaseKotlin FAILED
error: cannot access NetworkComponent
  class file for com.somepackage.network.di.NetworkComponent not found

* What went wrong:
Execution failed for task ':app:kaptReleaseKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
   > java.lang.reflect.InvocationTargetException (no error message)