kor*_*los 11 android firebase firebase-performance
本周我开始在我的新应用中测试新的Firebase性能.一旦我将Firebase用于Auth和DB等其他功能,我已经将所有软件包更新为10.2.6 Firebase版本并遵循所有预先请求的说明.
minAPI是19.
我的问题是App在运行Android 4.4.1的真实Galaxy Duos设备中仅在API 19中与Google Play Services 10.2.98崩溃.当App启动时,它无法在设备中找到firebase-perf.
它只发生在这个软件包和其他设备和更高版本中,一切都很好,我可以在Firebase Performance Dashboard中看到数据.
提示 ?
Stacktrace下面
问候,
Process: com.mobilecodelabs.fb.trampo, PID: 2727
java.lang.RuntimeException: Unable to get provider com.google.firebase.perf.provider.FirebasePerfProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.perf.provider.FirebasePerfProvider" on path: DexPathList[[zip file "/data/app/com.mobilecodelabs.fb.trampo-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.mobilecodelabs.fb.trampo-2, /vendor/lib, /system/lib]]
at android.app.ActivityThread.installProvider(ActivityThread.java:4793)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4385)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4325)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.perf.provider.FirebasePerfProvider" on path: DexPathList[[zip file "/data/app/com.mobilecodelabs.fb.trampo-2.apk"],nativeLibraryDirectories=[/data/app-lib/com.mobilecodelabs.fb.trampo-2, /vendor/lib, /system/lib]]
at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
at android.app.ActivityThread.installProvider(ActivityThread.java:4778)
at android.app.ActivityThread.installContentProviders(ActivityThread.java:4385)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4325)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5017)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)
小智 1
这是一个老问题,但为了其他人的利益而发布更新。
我自己也遇到了这个问题,具有完全相同的堆栈跟踪。我的应用程序在 API 19 及更低版本上失败,而在 21+ 上它可以正常工作。对我来说,这是一个 MultiDex 问题。
即使我通过给予启用了 MultiDex
我必须对清单文件进行更改,并将应用程序的完全限定类名替换为“android.support.multidex.MultiDexApplication”
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.myapp">
<application
android:name="android.support.multidex.MultiDexApplication" >
...
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
请阅读Multidex上的此页面了解更多详细信息。这是应用程序属性的参考。我已经在 Firebase 测试实验室和物理设备中测试了我的应用程序,它适用于从 API 17 到 API 28 的所有版本。
| 归档时间: |
|
| 查看次数: |
1590 次 |
| 最近记录: |