如何解决Firebase API初始化失败(Android + Firebase) [英] How to solve Firebase API initialization failure (Android + Firebase)

查看:489
本文介绍了如何解决Firebase API初始化失败(Android + Firebase)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我最近需要在我的项目中使用Google GCM。从它的网站上说:


Firebase云消息传递(FCM)是GCM的新版本。它继承了
可靠和可扩展的GCM基础设施,以及新的功能!请参阅
了解更多信息。如果您将消息集成到新应用程序中,则
以FCM开头。强烈建议GCM用户升级到FCM,
,以便从今天和未来的新FCM功能中受益。


为了设置新的Firebase应用程序,我遵循了官方网站上提供的说明,做了以下内容:


  1. 在Web控制台中创建一个新的Firebase应用程序,并从那里获取了我的json - 提供了正确的应用程序包;

  2. 在顶层项目的gradle文件中,我添加了 classpath'com.google.gms:google-services:3.0.0'
  3. 在模块的gradle文件中,我添加了: compile'c​​om.google.firebase:firebase-core:9.0。 0'
    compile'c​​om.google.firebase:firebase-messaging:9.0.0'
    并且在最后一行中添加了: apply plugin :'com.google.gms.google-services';

下面提供了完整的Gradle文件:

顶级gradle文件:

build $ {
repositories {
jcenter()
}
dependencies {
classpath'com.android.tools。 build:gradle:2.1.0'
classpath'com.neenbedankt.gradle.plugins:android-apt:1.7'
classpath'com.google.gms:google-services:3.0.0'



allprojects {
repositories {
jcenter()
maven {urlhttps://jitpack.io}



任务清理(类型:删除){
删除rootProject.buildDir
}
pre>

模块的gradle文件:

  apply plugin:'com。 android.application'
apply plugin:'com.neenbedankt.android-apt'

android {
compileSdkVersion 23
buildToolsVersion23.0.2

dexOptions {
javaMaxHeapSize4g
}

defaultConfig {
applicationIdbr.com.gogame
minSdkVersion 21
targetSdkVersion 23
versionCode 1
versionName1.0
multiDexEnabled true
}

buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard -rules.pro'
}
}
useLibrary'org.apache.http.legacy'
}

依赖关系{
.. 。
compile'c​​om.google.firebase:firebase-core:9.0.0'
compile'c​​om.google.firebase:firebase-messaging:9.0.0'
...


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


$ b $

  05-23 14:04:55.109 13368-13368 / br.com.gogame I / art:拒绝先前失败的类java.lang.Class< com.g oogle.android.gms.internal.zzqq $ ZZD> 
05-23 14:04:55.109 13368-13368 / br.com.gogame I / art:拒绝先前失败的类java.lang.Class< com.google.android.gms.internal。 zzqq $ ZZD>
05-23 14:04:55.110 13368-13368 / br.com.gogame I / art:拒绝先前失败的类java.lang.Class< com.google.android.gms.internal。 zzqq $ ZZC>
05-23 14:04:55.110 13368-13368 / br.com.gogame I / art:拒绝先前失败的类java.lang.Class< com.google.android.gms.internal。 zzqq $ ZZC>
05-23 14:04:55.126 13368-13368 / br.com.gogame E / FirebaseApp:Firebase API初始化失败。
java.lang.reflect.Method.invoke中的
(原生方法)$ com $ com $ firebase.FirebaseApp.zza
$(未知源)$ b $ java.lang.reflect.InvocationTargetException
在com.google.firebase.FirebaseApp.initializeApp(未知源)
在com.google.firebase.FirebaseApp.initializeApp(未知源)
在com.google.firebase.FirebaseApp.zzbu(未知来源)
在com.google.firebase.provider.FirebaseInitProvider.onCreate(未知来源)
在android.content.ContentProvider.atta chInfo(ContentProvider.java:1748)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
android.app.ActivityThread.installProvider(ActivityThread.java:5174)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4769)
at android.app.ActivityThread.handleBindApplication(ActivityThread。 java:4709)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread $ H.handleMess年龄(ActivityThread.java:1415)
在android.os.Handler.dispatchMessage(Handler.java:102)
在android.os.Looper.loop(Looper.java:148)
在android.app.ActivityThread.main(ActivityThread.java:5443)$ b $在java.lang.reflect.Method.invoke(本地方法)
在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller。运行(ZygoteInit.java:728)
在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
引起:java.lang.NoSuchMethodError:没有静态方法zzy(Ljava /郎/对象;)Ljava /郎/对象;在类Lcom / google / android / gms / common / internal / zzx;或其超级类(com.google.android.gms.common.internal.zzx的声明出现在/data/app/br.com.gogame-2/base.apk:classes26.dex)
at com.google.android.gms.measurement.internal.zzt.zzaU(未知源代码)
在com.google.android.gms.measurement.AppMeasurement.getInstance(未知源代码)
(java.lang。反应.Method.invoke(本地方法)
在com.google.firebase.FirebaseApp.zza(未知来源)
在com.google.firebase.FirebaseApp.initializeApp(未知来源)
at com.google.firebase.FirebaseApp.initializeApp(未知来源)
在com.google.firebase.FirebaseApp.zzbu(未知源代码)
在com.google.firebase.provider.FirebaseInitProvider.onCreate(未知源代码)
在android.content.ContentProvider.attachInfo(ContentProvider.java :1748)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
at android.app .ActivityThread.installProvider(ActivityThread.java:5174)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4769)
在android.app.ActivityThread.Back1(ActivityThread.java)
at android.app.ActivityThread $ H.handleMessage(ActivityThread.AccessThread.ActivityThread.java:4709) java:1415)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app .ActivityThread.main(ActivityThread.java:5443)
在java.lang.reflect.Method.invoke(本地方法)
在com.android.internal.os.ZygoteInit $ MethodAndArg sCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-23 14:04:55.131 13368-13368 / br .com.gogame I / FirebaseInitProvider:FirebaseApp初始化成功
05-23 14:04:55.133 13368-13368 / br.com.gogame E / AndroidRuntime:致命例外:main
过程:br.com。 gogame,PID:13368
java.lang.NoSuchMethodError:没有静态方法zzy(Ljava / lang / Object;)Ljava / lang / Object;在类Lcom / google / android / gms / common / internal / zzx;或其超级类(com.google.android.gms.common.internal.zzx的声明出现在/data/app/br.com.gogame-2/base.apk:classes26.dex)
at com.google.android.gms.measurement.internal.zzt.zzaU(未知来源)
,位于android.content的com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(未知来源)
。 ContentProvider.attachInfo(ContentProvider.java:1748)
at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
at android.app.ActivityThread.installProvider(ActivityThread.java:5174)
在android.app.ActivityThread.installC ontentProviders(ActivityThread.java:4769)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4709)
at android.app.ActivityThread.-wrap1(ActivityThread.java)
at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1415)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper。 java:148)
at android.app.ActivityThread.main(ActivityThread.java:5443)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:728)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

解决这个问题的任何帮助都将非常感谢!
Regards

解决方案

好了,经过艰苦的努力,我发现了什么导致了我的问题。基本上我有两个库模块 - 碰巧是我自己的 - 他们每个人都进口不同版本的 com.android.support:appcompat-v7。* 和谷歌播放服务。使他们都进口相同的版本,问题不复存在。

I recently needed to use Google GCM in my project. From its website it is said:

Firebase Cloud Messaging (FCM) is the new version of GCM. It inherits the reliable and scalable GCM infrastructure, plus new features! See the FAQ to learn more. If you are integrating messaging in a new app, start with FCM. GCM users are strongly recommended to upgrade to FCM, in order to benefit from new FCM features today and in the future.

In order to setup a new Firebase application, I've followed the instructions provided at the official website and did the following:

  1. Created a new Firebase app in the web console and got my json from there - after providing the correct package of my app;
  2. At the top level project's gradle file, I've added classpath 'com.google.gms:google-services:3.0.0' in the dependency section;
  3. At my module's gradle file, I've added: compile 'com.google.firebase:firebase-core:9.0.0' compile 'com.google.firebase:firebase-messaging:9.0.0' and in the last line of it, I've added: apply plugin: 'com.google.gms.google-services';

Full Gradle files are provided below:

Top level gradle file:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.1.0'
        classpath 'com.neenbedankt.gradle.plugins:android-apt:1.7'
        classpath 'com.google.gms:google-services:3.0.0'
    }
}

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Module's gradle file:

apply plugin: 'com.android.application'
apply plugin: 'com.neenbedankt.android-apt'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    dexOptions {
        javaMaxHeapSize "4g"
    }

    defaultConfig {
        applicationId "br.com.gogame"
        minSdkVersion 21
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled true
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    useLibrary  'org.apache.http.legacy'
}

dependencies {
    ...
    compile 'com.google.firebase:firebase-core:9.0.0'
    compile 'com.google.firebase:firebase-messaging:9.0.0'
    ...
}

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

When I start my app I get this stacktrace:

05-23 14:04:55.109 13368-13368/br.com.gogame I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzqq$zzd>
05-23 14:04:55.109 13368-13368/br.com.gogame I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzqq$zzd>
05-23 14:04:55.110 13368-13368/br.com.gogame I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzqq$zzc>
05-23 14:04:55.110 13368-13368/br.com.gogame I/art: Rejecting re-init on previously-failed class java.lang.Class<com.google.android.gms.internal.zzqq$zzc>
05-23 14:04:55.126 13368-13368/br.com.gogame E/FirebaseApp: Firebase API initialization failure.
                                                            java.lang.reflect.InvocationTargetException
                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                at com.google.firebase.FirebaseApp.zza(Unknown Source)
                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                                at com.google.firebase.FirebaseApp.zzbu(Unknown Source)
                                                                at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                                at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
                                                                at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
                                                                at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                                at android.app.ActivityThread.installProvider(ActivityThread.java:5174)
                                                                at android.app.ActivityThread.installContentProviders(ActivityThread.java:4769)
                                                                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4709)
                                                                at android.app.ActivityThread.-wrap1(ActivityThread.java)
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1415)
                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                at android.os.Looper.loop(Looper.java:148)
                                                                at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                                at java.lang.reflect.Method.invoke(Native Method)
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
                                                             Caused by: java.lang.NoSuchMethodError: No static method zzy(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzx; or its super classes (declaration of 'com.google.android.gms.common.internal.zzx' appears in /data/app/br.com.gogame-2/base.apk:classes26.dex)
                                                                at com.google.android.gms.measurement.internal.zzt.zzaU(Unknown Source)
                                                                at com.google.android.gms.measurement.AppMeasurement.getInstance(Unknown Source)
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.google.firebase.FirebaseApp.zza(Unknown Source) 
                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
                                                                at com.google.firebase.FirebaseApp.zzbu(Unknown Source) 
                                                                at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
                                                                at android.content.ContentProvider.attachInfo(ContentProvider.java:1748) 
                                                                at android.content.ContentProvider.attachInfo(ContentProvider.java:1723) 
                                                                at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
                                                                at android.app.ActivityThread.installProvider(ActivityThread.java:5174) 
                                                                at android.app.ActivityThread.installContentProviders(ActivityThread.java:4769) 
                                                                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4709) 
                                                                at android.app.ActivityThread.-wrap1(ActivityThread.java) 
                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1415) 
                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                at android.os.Looper.loop(Looper.java:148) 
                                                                at android.app.ActivityThread.main(ActivityThread.java:5443) 
                                                                at java.lang.reflect.Method.invoke(Native Method) 
                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728) 
                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
05-23 14:04:55.131 13368-13368/br.com.gogame I/FirebaseInitProvider: FirebaseApp initialization successful
05-23 14:04:55.133 13368-13368/br.com.gogame E/AndroidRuntime: FATAL EXCEPTION: main
                                                               Process: br.com.gogame, PID: 13368
                                                               java.lang.NoSuchMethodError: No static method zzy(Ljava/lang/Object;)Ljava/lang/Object; in class Lcom/google/android/gms/common/internal/zzx; or its super classes (declaration of 'com.google.android.gms.common.internal.zzx' appears in /data/app/br.com.gogame-2/base.apk:classes26.dex)
                                                                   at com.google.android.gms.measurement.internal.zzt.zzaU(Unknown Source)
                                                                   at com.google.android.gms.measurement.AppMeasurementContentProvider.onCreate(Unknown Source)
                                                                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1748)
                                                                   at android.content.ContentProvider.attachInfo(ContentProvider.java:1723)
                                                                   at android.app.ActivityThread.installProvider(ActivityThread.java:5174)
                                                                   at android.app.ActivityThread.installContentProviders(ActivityThread.java:4769)
                                                                   at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4709)
                                                                   at android.app.ActivityThread.-wrap1(ActivityThread.java)
                                                                   at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1415)
                                                                   at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                   at android.os.Looper.loop(Looper.java:148)
                                                                   at android.app.ActivityThread.main(ActivityThread.java:5443)
                                                                   at java.lang.reflect.Method.invoke(Native Method)
                                                                   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:728)
                                                                   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)

Any help solving this problem will be very appreciated! Regards

解决方案

Well, after struggle a lot I found what was causing my problem. Basically I had two libraries modules - that happened to be of my own - each one of them importing different versions of com.android.support:appcompat-v7.* and google play services. Made all of them import the same version and problem is gone.

这篇关于如何解决Firebase API初始化失败(Android + Firebase)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆