正如标题所说,Dagger2没有为我的Android项目生成Dagger*前缀类.我查看了我能找到的所有其他类似帖子,但没有任何帮助.我正在尝试将它添加到现有项目中,并且我遇到了一些初始问题,使其能够很好地处理数据绑定,但我似乎已经对其进行了排序,即数据绑定没有编译错误,并且它为它生成代码.我还下载了几个工作正常的示例项目.
我的顶级graddle文件有
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
Run Code Online (Sandbox Code Playgroud)
而我的构建级别有
apply plugin: 'com.neenbedankt.android-apt'
....
final DAGGER_VERSION = '2.8'
....
compile 'javax.inject:javax.inject:1'
compile 'javax.annotation:javax.annotation-api:1.2'
apt "com.google.dagger:dagger:$DAGGER_VERSION"
compile "com.google.dagger:dagger:$DAGGER_VERSION"
}
Run Code Online (Sandbox Code Playgroud)
组件文件非常简单
@Singleton
@Component(modules = {
AndroidModule.class
})
public interface ApplicationComponent {
void inject(MainActivity activity);
}
Run Code Online (Sandbox Code Playgroud)
AndroidModule文件包含
@Module
public class AndroidModule {
private final Context application;
public AndroidModule(Application application) {
this.application = application;
}
}
Run Code Online (Sandbox Code Playgroud)
和Application类有
import com.rockwellcollins.fsl.dagger.DaggerApplicationComponent;
...
public class FslApplication extends Application {
private static ApplicationComponent component;
@Override
public void onCreate() {
super.onCreate();
component = DaggerApplicationComponent.builder() …Run Code Online (Sandbox Code Playgroud)