无法在棒棒糖之前的设备上获取提供程序 com.google.firebase.perf.provider.FirebasePerfProvider
Unable to get provider com.google.firebase.perf.provider.FirebasePerfProvider on pre-lollipop devices
在 v21 之前的所有版本(即 16-19)中,我的应用程序因以下错误而在启动时崩溃:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to get provider com.google.firebase.perf.provider.FirebasePerfProvider: java.lang.ClassNotFoundException: com.google.firebase.perf.provider.FirebasePerfProvider
at android.app.ActivityThread.installProvider(ActivityThread.java:4563)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4132)
at android.app.ActivityThread.access00(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.google.firebase.perf.provider.FirebasePerfProvider
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.ActivityThread.installProvider(ActivityThread.java:4548)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4132)
at android.app.ActivityThread.access00(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
在 Android 5 及更高版本上,我的应用程序可以正常运行。
我的目标是 SDK 版本 27,我的最低版本是 14。
是的,我还启用了 Multidex 支持。我已经看到了一些关于此的答案,但它们与我的问题无关,因为我已经启用了多年。
目前我也在使用最新的 Firebase 服务 11.8.0。
已修复!
虽然我在 Gradle 中导入并启用了 multidex,但我不得不更改我的应用程序 class 以扩展 MultidexApplication
而不是 Application
。
希望对其他人也有帮助!
感谢 MultiDex
提示,它没有为我解决这个问题,但无论如何都很有用。
为我解决的是,在我的应用程序中 build.gradle
移动
apply plugin: 'com.google.firebase.firebase-perf'
在以下内容之前:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'io.fabric'
换句话说,尽早应用 firebase-perf
,但在 'com.android.application'
之后。
在此处分享,以防其他人适用。
我尝试删除
apply plugin: 'com.google.firebase.firebase-perf'
在build.gradle
然后重新添加,我就解决了
在 v21 之前的所有版本(即 16-19)中,我的应用程序因以下错误而在启动时崩溃:
E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.RuntimeException: Unable to get provider com.google.firebase.perf.provider.FirebasePerfProvider: java.lang.ClassNotFoundException: com.google.firebase.perf.provider.FirebasePerfProvider
at android.app.ActivityThread.installProvider(ActivityThread.java:4563)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4132)
at android.app.ActivityThread.access00(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: com.google.firebase.perf.provider.FirebasePerfProvider
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
at android.app.ActivityThread.installProvider(ActivityThread.java:4548)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4190)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4132)
at android.app.ActivityThread.access00(ActivityThread.java:130)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1255)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4745)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
at dalvik.system.NativeStart.main(Native Method)
在 Android 5 及更高版本上,我的应用程序可以正常运行。
我的目标是 SDK 版本 27,我的最低版本是 14。 是的,我还启用了 Multidex 支持。我已经看到了一些关于此的答案,但它们与我的问题无关,因为我已经启用了多年。 目前我也在使用最新的 Firebase 服务 11.8.0。
已修复!
虽然我在 Gradle 中导入并启用了 multidex,但我不得不更改我的应用程序 class 以扩展 MultidexApplication
而不是 Application
。
希望对其他人也有帮助!
感谢 MultiDex
提示,它没有为我解决这个问题,但无论如何都很有用。
为我解决的是,在我的应用程序中 build.gradle
移动
apply plugin: 'com.google.firebase.firebase-perf'
在以下内容之前:
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
apply plugin: 'io.fabric'
换句话说,尽早应用 firebase-perf
,但在 'com.android.application'
之后。
在此处分享,以防其他人适用。
我尝试删除
apply plugin: 'com.google.firebase.firebase-perf'
在build.gradle
然后重新添加,我就解决了