2016-05-30 129 views
1

我在FCM网站上的步骤后,在应用程序上实施了新的FCM。尝试运行应用程序时,FirebaseInitProvider发生崩溃

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

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)  

正如我所看到的,THRE方法试图得到一些值,其中一片空白。

我搜索了解决方案,并在SO中找到了这篇文章。 - >Unable to get provider com.google.firebase.provider.FirebaseInitProvider

至于解决方案,他们说的applicationID添加到gradle这个构建项目文件,但我得到了它:

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

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

及剧照崩溃。

有没有一些workaorund或解决这个问题?

+0

艾菲尔特2个月我回来了,同样的问题。现在它发生在我签署APK并尝试测试它时。已知的解决方案? – Shudy

回答

0

我有同样的问题。 添加aplicationId后,我注意到有2个应用程序安装在我的设备上。我认为它以某种方式更改了应用程序的软件包名称,以引导设备了解这是两个不同的应用程序。

所以我卸载了两个版本,然后它的工作。

ps:命令行不能正常启动应用程序。它说: “启动应用程序...发射成功”,但应用程序从未启动,我要打开它手动

编辑:刚刚发现我是键入错误的应用程序ID,现在它工作正常

+0

请你指导我如何检查应用程序ID是否正确,因为我有同样的问题? – Bhumit

+0

应用程序在API 21中成功工作,但在API 18中失败... – Bhumit

0

compile 'com.android.support:multidex:1.0.1'添加到您的依赖(或者干脆删除multiDexEnabled true如果不要求)

这个属性添加到应用程序标签清单中:

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

如果您已经在Android Manifest中定义了自定义应用程序类,请将其从MultiDexApplication扩展而不是应用程序

这适用于我!

相关问题