Android - FirebaseApp/Firebase 初始化未启动

标签 android push-notification firebase google-cloud-messaging

我想在我的 Android 应用程序中实现 Firebase-Messaging 插件。 我从 github 中的“quickstart-android-master/messaging”示例开始:https://github.com/firebase/quickstart-android/tree/master/messaging

这对我有用! 日志输出:

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!

我还在“app”目录中的 build.gradle 文件中添加了应用插件:

    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'

以及“根”目录中 build.gradle 的 google-services 插件:

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

Problems could be:

  • AndroidAnnotations、Proguard、产品风格...

最佳答案

我的问题是“Manifest Merger”。 如果我使用

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

tools:node="replace"

在Manifest的Application Tag中,FirebaseApp不会被初始化!

If you use replace attr on tools:node it will replace your lower priority declaration with the annotated one (see more here). You should use merge or merge only attributes instead.

那么我到底做了什么:

这行不通:

<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"-->

If you want to overwrite or replace some attributes, use tools:replace instead!

关于Android - FirebaseApp/Firebase 初始化未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37724761/

相关文章:

firebase - 如何在 Firebase 中使用 Telegraf(电报)?

java - 如何在 Firebase 实时数据库中的特定子树中推送值

java - 以编程方式确定 Android 设备支持 EAP-SIM 以进行 WiFi 身份验证

android - 如何绘制局部位图圆弧?就像一个圆形进度轮,但带有越来越多显示的位图。

java - 我的组件中的空间错误

android - 使用自定义图标推送通知

ios - 使用开发证书解析测试推送通知

xcode - 通过解析将推送通知发送到您的 iPhone 作为测试

Firebase 规则通配符和子项比较

android - 错误填充异常 : Blocktype mismatch: 0