我终于踏入Dagger(2)并通过以下方式为我的项目创建了最小的可能性:
CurrencyServiceModule:
@Module
public class CurrencyServiceModule {
@Provides
@NonNull
@Singleton
public CurrencyService provideCurrencyService(){
return new CurrencyService();
}
}
AppComponent.java:
@Component(modules = {CurrencyServiceModule.class})
public interface AppComponent {
void inject(ChargeDetailsFragment fragment);
}
初始化:
public class AgentApplication extends MultiDexApplication {
@Override
public void onCreate() {
super.onCreate();
component = buildComponent();
}
private AppComponent buildComponent(){
return DaggerAppComponent.builder()
.currencyServiceModule(new CurrencyServiceModule())
.build();
}
}
仍未生成DaggerAppComponent!
已经尝试过针对此编译错误的一般建议而没有结果。我假设它可能取决于我的注释定义,所以Dagger基本上不构建所需的代码。有没有办法看到Dagger日志来了解发生了什么?
更新:Gradle配置:
compile 'com.google.dagger:dagger:2.11'
annotationProcessor 'com.google.dagger:dagger-compiler:2.11'