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