我有两个Dagger组件:

@GithubListActivityScope
@Component(modules = { GithubListActivityModule.class, GlideActivityModule.class })
public interface GithubListActivityComponent {

GithubUserListAdapter githubUserListAdapter ( );
//RequestManager requestManager();
LinearLayoutManager linearLayoutManager();

}


注意:我尝试在RequestManager requestManager();中注释和取消注释GithubListActivityComponent

我有另一个这样的组件:

@Component(modules = { GithubApiServiceModule.class, GlideModule.class })
public interface GithubAppListComponent {

RequestManager getGlideRequestManager ( );

GithubAPIService getGitHubApiService ( );
}


问题:->当我删除GithubListActivityComponent的类文件或删除/注释@Component批注时,当我尝试构建而不删除或注释@Component批注的文件时,应用程序运行良好,但是出现以下错误:


  错误:(7,66)错误:找不到符号类
  DaggerGithubAppListComponent
  
  错误:任务执行失败
  ':app:compileDebugJavaWithJavac'。
   java.lang.StackOverflowError


附言Oracle Jdk版本-> 1.8.0_121

最佳答案

删除循环依赖关系(如果B模块包含A,则A模块不应包含B模块)

我如何解决我的问题:GithubListActivityModule上的依赖于GlideActivityModule的provider(带有@Provide的方法),我将它们移至GlideActivityModule中以删除依赖项。

07-24 19:05