8

我想將Firebase-Messaging插件實施到我的Android應用程序中。 我已經從github的「quickstart-android-master/messaging」例子開始:https://github.com/firebase/quickstart-android/tree/master/messagingAndroid - FirebaseApp/Firebase-初始化未啓動

這對我有用! 對數輸出:

D/FirebaseApp﹕ com.google.firebase.auth.FirebaseAuth is not linked. Skipping initialization. 
D/FirebaseApp﹕ Initialized class com.google.firebase.iid.FirebaseInstanceId. 
D/FirebaseApp﹕ com.google.firebase.crash.FirebaseCrash is not linked. Skipping initialization 
D/FirebaseApp﹕ Initialized class com.google.android.gms.measurement.AppMeasurement. 
I/FirebaseInitProvider﹕ FirebaseApp initialization successful 

But if I want to implement the Plugin "com.google.firebase:firebase-messaging:9.0.2" into my app, the FirebaseApp isn't initialized! So the FirebaseApp plugin isn't starting! - No Log or token received!

我還添加了應用插件的build.gradle文件中的 「應用程序」 -directory:

apply plugin: 'com.android.application' 

android { 
    // ... 
} 

dependencies { 
    // ... 
    compile 'com.google.firebase:firebase-messaging:9.0.2' 
} 

// ADD THIS AT THE BOTTOM 
apply plugin: 'com.google.gms.google-services' 

而谷歌的服務插件來構建。搖籃中的 「根」 目錄:

buildscript { 
    // ... 
    dependencies { 
     // ... 
     classpath 'com.google.gms:google-services:3.0.0' 
    } 
} 

Problems could be:

  • AndroidAnnotations,Proguard的,產品的口味......
+0

您是否在Firebase控制檯上創建了應用程序? –

+0

可以顯示你的Gradle文件內容 – Shubhank

+0

是的,我已經在Firebase控制檯上創建了它!我也在示例中使用了我的軟件包名稱。 –

回答

12

的問題是 「清單合併」 的Android。 如果我在清單的應用程序標記使用

xmlns:tools="http://schemas.android.com/tools" 

tools:node="replace" 

,該FirebaseApp不會被初始化!

摘要: 如果使用工具取代 ATTR:節點將與註釋的一個替代你的優先級較低的聲明(見更多here)。你應該使用合併合併只有屬性代替。

那麼我究竟做了:

這不起作用:

<application 
      android:name="xxx" 
      android:icon="@mipmap/ic_launcher" 
      android:label="@string/application_name" 
      android:theme="@style/Theme.TemplateStyle" 
      tools:node="replace"> 

這個工程:

<application 
      android:name="xxx" 
      android:icon="@mipmap/ic_launcher" 
      android:label="@string/application_name" 
      android:theme="@style/Theme.TemplateStyle"> 
      <!-- tools:node="replace"--> 
+0

所以我必須刪除工具才能正常使用Firebase? –

+0

@devqualwebs,我已經更新了答案。 –

+1

目前我已更新到tools:replace =「android:name」而不是tools:node =「replace」。希望幫助 – Killer

-2

我有同樣的問題,添加以下內容:

com.google.firebase:com.google.firebase之前的firebase-core:firebase-messaging

dependences { 

    compile 'com.google.firebase:firebase-core:9.4.0' 
    compile 'com.google.firebase:firebase-messaging:9.4.0' 

} 
+3

這對我沒有幫助 – pellyadolfo