Dagger2不生成“Dagger_”文件

我使用匕首2以来,但今天试图编译得到这个错误:

错误:(13,31)错误:无法find符号类Dagger_GlobalComponent

错误:(38,21)错误:找不到符号variablesDagger_GlobalComponent

所以这里是代码:

public class MyAppApplication extends Application { private static GlobalComponent component; @Override public void onCreate() { super.onCreate(); component = Dagger_GlobalComponent.builder() .busModule(new BusModule()) .syncModule(new SyncModule()) .serviceModule(new ServiceModule()) .contextModule(new ContextModule(this)) .persistenceModule(new PersistenceModule(this)) .build(); }} 

和gradle依赖关系:

 ... compile 'com.google.dagger:dagger:2.0-SNAPSHOT' apt 'com.google.dagger:dagger-compiler:2.0-SNAPSHOT' provided 'org.glassfish:javax.annotation:10.0-b28' ... 

任何解决scheme 已经尝试:清理,重build,更改依赖版本,同时删除Gradlecaching并重新安装Android Studio。

如果这个示例项目有帮助,也会得到同样的错误:

https://github.com/gk5885/dagger-android-sample

https://github.com/mgrzechocinski/dagger2-example

Solutions Collecting From Web of "Dagger2不生成“Dagger_”文件"

我试图在tutsplus上跟随Dagger2教程,并尝试使用下划线语法(Dagger_ClassnameComponent)时遇到同样的问题。

正如其他人所说,新的Dagger API不使用该下划线语法,而只是使用语法DaggerClassnameComponent。 但是,试图在我的简单的应用程序中使用新的语法,没有find类DaggerClassnameComponent。 我相信它应该位于app / build / generated / source / apt / debug / packagename / component文件夹中。

起初,我没有在上述文件夹下生成任何文件。 但是, 我的解决scheme是清理和构build项目,然后我可以按预期使用组件类。

Dagger 2现在已经发布了,所以你需要改变你的gradle依赖:

 compile 'com.google.dagger:dagger:2.0' provided 'com.google.dagger:dagger-compiler:2.0' provided 'org.glassfish:javax.annotation:10.0-b28' 

看起来他们从生成的东西中删除了下划线。 看到Dagger2生成的类在Android Studio中突然失踪 。