首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dagger2不生成"Dagger_“文件

Dagger2不生成"Dagger_“文件
EN

Stack Overflow用户
提问于 2015-04-08 10:25:36
回答 2查看 23.6K关注 0票数 22

我从一段时间以来一直在使用匕首2,但今天试图编译时出现了以下错误:

错误:(13,31)错误:找不到符号类Dagger_GlobalComponent 错误:(38,21)错误:找不到符号变量Dagger_GlobalComponent

下面是代码:

代码语言:javascript
复制
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();
}}

和等级依赖关系:

代码语言:javascript
复制
...
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'
...

有什么解决办法吗?已经尝试过:清理、重建、更改依赖版本、删除Gradle缓存和重新安装Android。

如果它也有助于获得与此示例项目相同的错误:

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

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

EN

回答 2

Stack Overflow用户

发布于 2015-04-12 22:15:37

我试图学习有关tutsplus herehere教程,并在尝试使用下划线语法(Dagger_ClassnameComponent)时遇到了同样的问题。

正如其他人所指出的,新的Dagger不使用下划线语法,而是只使用语法DaggerClassnameComponent。但是,在我的简单应用程序中尝试使用新语法时,没有找到类DaggerClassnameComponent。我认为它应该位于app/build/generated/source/apt/debug/packagename/component文件夹中。

起初,我没有在上面提到的文件夹下生成任何文件。但是,我的解决方案是清理和构建项目,,然后我可以像预期的那样使用组件类。

票数 36
EN

Stack Overflow用户

发布于 2015-04-08 10:46:35

看起来他们从生成的东西中删除了下划线。见Dagger2 generated class is all of a sudden missing from Android Studio

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29512080

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档