Android Dagger 和 Firebase

Android Dagger and Firebase

我正在使用 Dagger 依赖注入。它通常工作正常,但是当我使用它将组件注入扩展 FirebaseInstanceIdService 的 class 时,构建失败。 FirebaseInstanceIdService 是否有什么特别之处阻止我注入它,或者我需要做些什么才能让它工作。我没有尝试在任何地方注入 FirebaseInstanceIdService 的实例,只是向其中注入依赖关系

A​​ppComponent 有

void inject (AbcFirebaseInstanceIdService abcFirebaseInstanceIdService);

并且 AbcFirebaseInstanceIdService 有

public void inject(ApplicationComponent appComponent) {
        appComponent.inject(this);
    }

你遇到了什么错误。这在我们的代码库中有效

public class NYTFirebaseInstanceIDService extends FirebaseInstanceIdService {
      @Inject Lazy<Foo> foo;

    @Override
    public void onCreate() {
        super.onCreate();
        buildObjectGraphAndInject();
    }

    private void buildObjectGraphAndInject() {
        getComponent().inject(this);
    }

    protected Component getComponent() {
        return ComponentFactory().create();
    }
}
com.google.dagger:dagger-compiler:2.0.2 

似乎不​​适用于

com.firebase:firebase-client-android:2.3.1. 

看到 MikeN 的代码可以与旧版本的 dagger 一起使用,让我尝试将我的 dagger 版本升级到 2.6.1。之前无法编译的相同代码现在可以编译了。