2016-12-23 11 views
0

私は以下の依存関係を使用しています。 それは私に "デフォルトのFirebaseAppはこのプロセスで初期化されていません。FirebaseApp.initializeApp(コンテキスト)を最初に呼び出してください。"FcmトークンがNULLになる

dependencies 
{ 
compile fileTree(include: ['*.jar'], dir: 'libs') 
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2',  
{ 
    exclude group: 'com.android.support', module: 'support-annotations' 
}) 

/*compile('org.apache.httpcomponents:httpcore:4.4.1') { 
    exclude group: 'org.apache.httpcomponents', module: 'httpclient' 

}*/ 

/*Button*/ 
//Google Analytics 
//Sweet Alert Dialog 

compile('com.google.api-client:google-api-client-android:1.22.0') 
compile('com.google.apis:google-api-services-script:v1-rev6-1.22.0') { 
    exclude group: 'org.apache.httpcomponents' 
} 
/*Button*/ 
//Google Analytics 
//Sweet Alert Dialog 
compile 'pub.devrel:easypermissions:0.1.5' 
compile 'com.android.support:appcompat-v7:23.4.0' 
compile 'com.android.support:design:23.4.0' 
compile 'com.github.markushi:circlebutton:1.1' 
compile 'com.github.dmytrodanylyk.android-process-button:library:1.0.4' 
compile 'cn.pedant.sweetalert:library:1.3' 
compile 'me.spark:submitbutton:1.0.1' 
compile 'com.android.support:support-v4:23.4.0' 
compile 'com.google.firebase:firebase-messaging:9.8.0' 
compile 'com.google.android.gms:play-services-auth:9.8.0' 
compile 'com.google.android.gms:play-services-appindexing:9.8.0' 
testCompile 'junit:junit:4.12' 
compile files('libs/org.apache.http.legacy.jar') 
} 

答えて

0

これはあなたの依存関係とほとんど関係がありません。コードで使用する前に、Firebaseを初期化する必要があります。

だから、非常に冒頭に(またはあなたがFirebaseへの参照を行い、少なくとも前に)次の行を追加します。

FirebaseApp.initializeApp(getContext()); 
0

プロジェクトGradleのファイルでは

classpath 'com.google.gms:google-services:3.0.0' 

とあなたよりも、この依存を置きますモジュールのグラデル

dependencies { 
compile fileTree(dir: 'libs', include: ['*.jar']) 

compile 'com.google.firebase:firebase-messaging:10.0.1' 

} 
apply plugin: 'com.google.gms.google-services' 

私のために働いてください。上位のGradleファイル内

+0

これは –

0

アプリのbuild.gradleファイル(*最後の文)の下部に次の行を入れて

apply plugin: 'com.google.gms.google-services' 

ともあなたはこの依存関係を使用しているかどうかを確認

dependencies { 
     classpath 'com.android.tools.build:gradle:1.5.0' 
     //classpath 'com.android.tools.build:gradle:2.0.0' 
     classpath 'com.google.gms:google-services:3.0.0' 
     // NOTE: Do not place your application dependencies here; they belong 
     // in the individual module build.gradle files 
    } 

ますFirebaseを初期化する必要があります。アプリケーションクラスで初期化するのに最適な場所です。

public class App extends BaseApplication { 
    public static App _appContext = null; 
    public static final String TAG = App.class.getSimpleName(); 

    @Override 
    protected void attachBaseContext(Context base) { 
     super.attachBaseContext(base); 
     MultiDex.install(this); 
    } 

    @Override 
    public void onCreate() { 
     super.onCreate(); 
     _appContext = this; 
     Firebase.setAndroidContext(getApplicationContext()); 
     FirebaseApp.initializeApp(getContext()); 
    } 
} 

と試みるよりも、ファイルのアプリケーションタグのような

<application 
     android:name="your.path.to.App" 
     . 
     .> 

をmainifiest、私はあなたがこの を削除しようとすることができ

を知っているように、それを追加します。

Firebase.setAndroidContext(this); 
FirebaseApp.initializeApp(this); 

をそして置く:

FirebaseDatabase database = FirebaseDatabase.getInstance(); 
01 java.lang.IllegalStateException:
+0

Firebaseが –

+0

BaseApplicationをインポートしていない私のプロジェクトレベルのGradleでは、私たちに起因するあなたのエラー・ログの猫 –

+0

をインポートしていない –

関連する問題