尝试运行应用程序时,FirebaseInitProvider发生崩溃 [英] FirebaseInitProvider crash when trying to run app

查看:1047
本文介绍了尝试运行应用程序时,FirebaseInitProvider发生崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



现在,我试图运行该应用程序,但是当我尝试它时,应用程序崩溃与此错误:

  05-30 12:28:45.788 3002-3002 / es.in2.otr。 app.im E / AndroidRuntime:FATAL EXCEPTION:main 
处理:es.in2.otr.app.im,PID:3002
java.lang.RuntimeException:无法获取提供者com.google.firebase。 provider.FirebaseInitProvider:java.lang.NullPointerException:尝试在android.app.ActivityThread的空对象引用
上调用虚方法'java.lang.String android.content.res.Resources.getResourcePackageName(int)'。 installProvider(ActivityThread.java:6765)
在android.app.ActivityThread.insta
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6297)
at android.app.ActivityThread.access $ 1800(ActivityThread.java:221)
android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1860)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop( Looper.java:158)
at android.app.ActivityThread.main(ActivityThread.java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
引起:java.lang.NullPointerException:尝试通过com.google.android.gms.common尝试调用空对象引用
上的虚方法'java.lang.String android.content.res.Resources.getResourcePackageName(int)' .internal.zzah。< init>(Unknown Source)
在com.google.firebase.FirebaseOptions.fromResource(未知来源)
在com.google.firebase.FirebaseApp.zzbu(未知来源)
在com.google.firebase.provider.FirebaseInitProvider.onCreate(未知源)
在android.content.ContentProvider.attachInfo(ContentProvider.java:1789)
在android.content.ContentProvider.attachInfo(ContentProvider。 java:1764)
at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
at android.app.ActivityThread.installProvider(ActivityThread.java:6762)
at android。 app.ActivityThread.installContentProviders(ActivityThread.java:6357)
at android.app.ActivityThread.handleBindApplication(Activity Thread.java:6297)
at android.app.ActivityThread.access $ 1800(ActivityThread.java:221)
at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1860)
android.os.Handler.dispatchMessage(Handler.java:102)
在android.os.Looper.loop(Looper.java:158)
在android.app.ActivityThread.main(ActivityThread。 java:7224)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1230)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

可以看到,thre方法试图获得一些值,其中null是空的。

我搜索了解决方案,并在SO中找到了这篇文章。 - > 无法获取提供商com.google.firebase.provider .FirebaseInitProvider

作为解决方案,他们说将applicationId添加到gradle构建项目文件中,但我明白了:

  defaultConfig {
applicationIdes.in2.otr.app.im
minSdkVersion 16
targetSdkVersion 23
multiDexEnabled true

testApplicationIdes.in2.otr.app.im.test
testInstrumentationRunnerandroid.test.InstrumentationTestRunner
}

还有剧照。



这个问题有一些工作或解决方案吗? p>

解决方案

添加行 compile'c​​om.android.support:multidex:1.0.1'到你的依赖关系(或者干脆删除 multiDexEnabled true 如果不是req


将此属性添加到清单中的应用程序标记中:

  android:name =android.support.multidex.MultiDexApplication

如果您已有自定义应用程序在Android Manifest中定义的类,从MultiDexApplication而不是Application扩展它。

这对我有用!


I implemented the new FCM on the app following the steps on the FCM web.

Now, I'm trying to run the app, but when I try it, the app crash with this error:

05-30 12:28:45.788 3002-3002/es.in2.otr.app.im E/AndroidRuntime: FATAL EXCEPTION: main
                                                                 Process: es.in2.otr.app.im, PID: 3002
                                                                 java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.res.Resources.getResourcePackageName(int)' on a null object reference
                                                                     at android.app.ActivityThread.installProvider(ActivityThread.java:6765)
                                                                     at android.app.ActivityThread.installContentProviders(ActivityThread.java:6357)
                                                                     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6297)
                                                                     at android.app.ActivityThread.access$1800(ActivityThread.java:221)
                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1860)
                                                                     at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                     at android.os.Looper.loop(Looper.java:158)
                                                                     at android.app.ActivityThread.main(ActivityThread.java:7224)
                                                                     at java.lang.reflect.Method.invoke(Native Method)
                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)
                                                                  Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.res.Resources.getResourcePackageName(int)' on a null object reference
                                                                     at com.google.android.gms.common.internal.zzah.<init>(Unknown Source)
                                                                     at com.google.firebase.FirebaseOptions.fromResource(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:1789)
                                                                     at android.content.ContentProvider.attachInfo(ContentProvider.java:1764)
                                                                     at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                                     at android.app.ActivityThread.installProvider(ActivityThread.java:6762)
                                                                     at android.app.ActivityThread.installContentProviders(ActivityThread.java:6357) 
                                                                     at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6297) 
                                                                     at android.app.ActivityThread.access$1800(ActivityThread.java:221) 
                                                                     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1860) 
                                                                     at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                     at android.os.Looper.loop(Looper.java:158) 
                                                                     at android.app.ActivityThread.main(ActivityThread.java:7224) 
                                                                     at java.lang.reflect.Method.invoke(Native Method) 
                                                                     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230) 
                                                                     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120) 

As I can see, thre method is trying to get some value, where is null.

I searched for solutions, and found this post in SO. --> Unable to get provider com.google.firebase.provider.FirebaseInitProvider

As solution they said to add the applicationId to the gradle build project file, but I got it:

defaultConfig {
        applicationId "es.in2.otr.app.im"
        minSdkVersion 16
        targetSdkVersion 23
        multiDexEnabled true

        testApplicationId "es.in2.otr.app.im.test"
        testInstrumentationRunner "android.test.InstrumentationTestRunner"
    }

And stills crashing.

Is there some workaorund or solution to this problem?

解决方案

Add the line compile 'com.android.support:multidex:1.0.1' to your dependencies (or simply remove multiDexEnabled true if not required)

Add this attribute to the application tag in manifest:

android:name="android.support.multidex.MultiDexApplication" 

If you already have a custom application class defined in Android Manifest, extend it from MultiDexApplication instead of Application

This works for me!

这篇关于尝试运行应用程序时,FirebaseInitProvider发生崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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