Android的 - FirebaseApp /火力地堡初始化没有启动Android的 - Fi

2019-05-12 06:36发布

我想要实现的火力地堡,消息插件安装到我的Android的应用程序。 我已经开始用“快速入门,Android的主/消息”从GitHub -实例: 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

但是,如果我想要实现的插件“com.google.firebase:火力的消息:9.0.2”为我的应用程序,该FirebaseApp未初始化 ! 所以FirebaseApp插件未开始! - 没有日志或令牌好评!

我还添加了应用插件的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'

而谷歌的服务插件中的“根”目录的build.gradle:

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

问题可能是:

  • AndroidAnnotations,Proguard的,产品的口味......

Answer 1:

我的问题是“清单合并”。 如果我使用

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

tools:node="replace"

在清单中的应用标签,则FirebaseApp不会被初始化!

如果您使用的工具 取代 ATTR:节点将与注释一(看更多的替换您的优先级较低的声明在这里 )。 您应该使用合并只是属性,而不是合并

所以我已经做究竟:

这不起作用:

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

如果你想覆盖或替换一些属性,可以使用tools:replace ,而不是!



Answer 2:

在我的情况下,这些权限失踪在Android清单文件中:

<permission
        android:name="com.app.appname.permission.C2D_MESSAGE"
        android:protectionLevel="signature" />

   <uses-permission android:name="com.app.appname.permission.C2D_MESSAGE" />
    <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />


Answer 3:

这接近我的问题:

  • 实行“com.google.firebase:火力碰撞:16.2.1”

  • 实行 'com.google.firebase:火力-AUTH:16.1.0'



Answer 4:

我有同样的问题,添加以下内容:

com.google.firebase:火力的消息:com.google.firebase之前火力核

dependences {

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

}


文章来源: Android - FirebaseApp / Firebase-Initialization is not starting