【问题标题】:FirebaseInitProvider crash when trying to run app尝试运行应用程序时 FirebaseInitProvider 崩溃
【发布时间】:2016-09-28 03:56:32
【问题描述】:

我按照 FCM 网页上的步骤在应用上实施了新的 FCM。

现在,我正在尝试运行该应用程序,但当我尝试运行时,应用程序崩溃并出现以下错误:

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 方法试图获取一些值,其中为 null。

我搜索了解决方案,并在 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"
    }

剧照崩溃了。

这个问题有一些解决方法吗?

【问题讨论】:

  • 2 个月后我又遇到了同样的问题。现在,当我签署 APK 并尝试对其进行测试时,就会发生这种情况。任何已知的解决方案?

标签: android null firebase android-gradle-plugin build.gradle


【解决方案1】:

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

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

ps:命令行无法正常启动应用。它说: “正在启动应用程序...启动成功”,但该应用程序从未启动,我必须手动打开它

编辑:刚刚发现我输入了错误的应用程序 ID,现在它可以正常工作了

【讨论】:

  • 请指导我如何检查应用程序 ID 是否正确,因为我有同样的问题?
  • 检查 Multidex 库
【解决方案2】:

compile 'com.android.support:multidex:1.0.1' 行添加到您的依赖项中(或者如果不需要,只需删除multiDexEnabled true

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

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

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

这对我有用!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    相关资源
    最近更新 更多