Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Dagger2组件未生成_Android_Dagger - Fatal编程技术网

Android Dagger2组件未生成

Android Dagger2组件未生成,android,dagger,Android,Dagger,我正试图用Dagger建立一个项目。现在,当我构建时,没有为组件生成Dagger*类 这是我的build.gradle配置: dependencies = [ annotationProcessor 'com.google.dagger:dagger-compiler:2.11' provided 'org.glassfish:javax.annotation:10.0-b28' compile 'com.google.dag

我正试图用Dagger建立一个项目。现在,当我构建时,没有为组件生成Dagger*类

这是我的build.gradle配置:

dependencies = [
    annotationProcessor 'com.google.dagger:dagger-compiler:2.11'
    provided            'org.glassfish:javax.annotation:10.0-b28'
    compile             'com.google.dagger:dagger:2.11'
]
以及守则:

public class Person {
    private String name;

    @Inject
    public Person() {
        name = "summer";
    }

    public String getName() {
        return name;
    }
}

@Component
public interface AboutComponent {

    void inject(AboutActivity activity);
}
在活动中:

public class AboutActivity extends BaseActivity implements OnClickListener {
    @Inject Person mPerson;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // I can not find DaggerAboutComponent here
    }
}

我尝试重建项目,看看它是否会生成类。

最后我找到了原因。我将Dagger依赖项导入到一个模块“OpenSourceLibrary”中,由我管理第三方库。如果我将依赖项移动到AboutLibrary的模块中,它就会工作。但是我必须在每个模块中都这么做吗?

首先,一旦你完成了,你就可以了解dagger 2.11是如何工作的。引用您试图将
人员
(依赖项)注入到
活动
中的示例。但谁在提供依赖?您需要一个
模块
,该模块为您的评论提供
Person
@iceman tks,但它不起作用。请删除@Inject注释并尝试重建它。遵循此示例以更好地理解Dagger