Java 匕首2:使用子组件/依赖组件时找不到符号类
在添加依赖/子组件时,Dagger 2遇到了一个问题,这将为DaggerAppComponent/DaggerComponent/DaggerComponent生成一个找不到的符号类 组件如下所示:Java 匕首2:使用子组件/依赖组件时找不到符号类,java,android,dagger-2,Java,Android,Dagger 2,在添加依赖/子组件时,Dagger 2遇到了一个问题,这将为DaggerAppComponent/DaggerComponent/DaggerComponent生成一个找不到的符号类 组件如下所示: public class ApplicationComponent { @Singleton @Component(modules= {...}) public interface AppComponent { SomeManager someManager(); void inje
public class ApplicationComponent {
@Singleton
@Component(modules= {...})
public interface AppComponent {
SomeManager someManager();
void inject(Application application);
}
}
@UserScope
@Component(modules = {...}, dependencies = ApplicationComponent.AppComponent.class)
public interface BComponent{
CComponent plus (AModule aModule, BModule bModule);
void inject (SomeActivity someActivity);
}
@PerFragment
@Subcomponent (modules = {AModule.class,BModule.class})
public interface CComponent {
void inject (SomeFragment someFragment);
}
每当我将plus方法添加到BComponent时,每当我尝试构建时,就会得到一个错误,即无法为Dagger生成的所有3个类找到symbol类。如果我注释掉plus方法,它确实会生成。有什么地方我做错了吗?当子组件在库项目中时,我遇到了同样的问题,我忘记将这一行放在library/build.gradle中
apply plugin: 'com.android.library'
apply plugin: 'com.neenbedankt.android-apt'
...
...
dependencies {
...
apt 'com.google.dagger:dagger-compiler:2.5'
}
希望这将帮助您您使用的是什么版本的Dagger2?Dagger2.2编译器,Dagger2.2,带有jsr250注释依赖项。我想知道更新到Dagger2.4是否可以修复它,尽管您可能需要添加
apt'com.google.guava:guava:19.0'
才能正常工作。您能否分享给编译器的确切错误?