未生成 Dagger2 组件
Dagger2 Component not generated
我正在尝试使用 Dagger 建立一个项目。现在,当我构建时,none 的 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);
}
在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
}
}
我已经尝试重建项目以查看它是否会生成 类。
最后我发现 reason.I 在我管理第三方库的模块 "OpenSourceLibrary" 中导入 Dagger 依赖项。如果我将依赖项移动到 AboutLibrary 的模块,它就可以工作。但是我必须在每个模块中都这样做吗?
我正在尝试使用 Dagger 建立一个项目。现在,当我构建时,none 的 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);
}
在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
}
}
我已经尝试重建项目以查看它是否会生成 类。
最后我发现 reason.I 在我管理第三方库的模块 "OpenSourceLibrary" 中导入 Dagger 依赖项。如果我将依赖项移动到 AboutLibrary 的模块,它就可以工作。但是我必须在每个模块中都这样做吗?