2016-08-28 11 views
1

私はDagger依存性注入を使用しています。通常正常に動作しますが、FirebaseInstanceIdServiceを拡張するクラスにコンポーネントを注入するときにビルドに失敗します。 FirebaseInstanceIdServiceに特別なものがあります。FirebaseInstanceIdServiceは、私がそれに注入するのを妨げるものですか、それを動作させるために必要なものがあります。私はAppComponentがAndroid DaggerとFirebase

void inject (AbcFirebaseInstanceIdService abcFirebaseInstanceIdService); 

を持っており、AbcFirebaseInstanceIdServiceあなたはどのようなエラーを取得している

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

答えて

6
com.google.dagger:dagger-compiler:2.0.2 

はMikeNsコードは短剣の古いバージョンで働いていた、私は2.6に私の短剣のバージョンを試してみて、アップグレード作ら見た

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

で動作するようには思えません.1。これまでコンパイルしていない同じコードがコンパイルされます。

+0

単純にバージョンを更新するだけで、頭痛の日が解決されました。 –

0

を持っているだけで、それに依存を注入

、どこでもFirebaseInstanceIdServiceのインスタンスを注入しようとしていないのです。これが私たちのコードベース内で動作

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(); 
    } 
} 
+0

ダガーで依存関係注入をセットアップするときにエラーが発生した場合と同様に、プロジェクトビルドに失敗します。 D:\ YYY \\アプリ\ SRC \メイン\のJava \ apppathname \ App.java エラー:(14、39)エラー:短剣-コンパイラ:私はcom.google.daggerを使用していたシンボルクラスDaggerApplicationComponent を見つけることができません:2.0.2 –

関連する問題