扑-在运行Android 4.4(Kitkat)的小米设备上崩溃-Firebase错误

时间:2019-05-08 10:09:59

标签: android firebase flutter crash android-4.4-kitkat

我仅在小米设备上才收到此错误,尤其是在Android 4.4(KitKat)上。

我的应用开始时突然崩溃,我捕获了错误日志:

E/AndroidRuntime(15685): FATAL EXCEPTION: main
E/AndroidRuntime(15685): Process: zipedia.zipediaapps, PID: 15685
E/AndroidRuntime(15685): java.lang.RuntimeException: Unable to get provider com.google.firebase.provider.FirebaseInitProvider: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/zipedia.zipediaapps-1.apk"],nativeLibraryDirectories=[/data/app-lib/zipedia.zipediaapps-1, /vendor/lib, /system/lib]]
E/AndroidRuntime(15685):    at android.app.ActivityThread.installProvider(ActivityThread.java:4828)
E/AndroidRuntime(15685):    at android.app.ActivityThread.installContentProviders(ActivityThread.java:4420)
E/AndroidRuntime(15685):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4360)
E/AndroidRuntime(15685):    at android.app.ActivityThread.access$1500(ActivityThread.java:141)
E/AndroidRuntime(15685):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1272)
E/AndroidRuntime(15685):    at android.os.Handler.dispatchMessage(Handler.java:102)
E/AndroidRuntime(15685):    at android.os.Looper.loop(Looper.java:136)
E/AndroidRuntime(15685):    at android.app.ActivityThread.main(ActivityThread.java:5052)
E/AndroidRuntime(15685):    at java.lang.reflect.Method.invokeNative(Native Method)
E/AndroidRuntime(15685):    at java.lang.reflect.Method.invoke(Method.java:515)
E/AndroidRuntime(15685):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
E/AndroidRuntime(15685):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
E/AndroidRuntime(15685):    at dalvik.system.NativeStart.main(Native Method)
E/AndroidRuntime(15685): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.google.firebase.provider.FirebaseInitProvider" on path: DexPathList[[zip file "/data/app/zipedia.zipediaapps-1.apk"],nativeLibraryDirectories=[/data/app-lib/zipedia.zipediaapps-1, /vendor/lib, /system/lib]]
E/AndroidRuntime(15685):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
E/AndroidRuntime(15685):    at java.lang.ClassLoader.loadClass(ClassLoader.java:497)
E/AndroidRuntime(15685):    at java.lang.ClassLoader.loadClass(ClassLoader.java:457)
E/AndroidRuntime(15685):    at android.app.ActivityThread.installProvider(ActivityThread.java:4813)
E/AndroidRuntime(15685):    ... 12 more
W/ActivityManager( 1065):   Force finishing activity zipedia.zipediaapps/.MainActivity

我正在使用pubspec.yaml上的firebase库:

firebase_auth: ^0.8.2firebase_messaging: ^4.0.0+4

有什么解决办法吗?

1 个答案:

答案 0 :(得分:1)

简短答案: 使用以下命令制作APK文件:flutter build apk --target-platform=android-arm

详细答案: 问题出在设备的处理器类型上。在Android世界中,有7种不同的处理器类型(mips,mips64,X86,X86–64,armeabi,arm64-v8a,armeabi-v7a)。标准flutter build apk命令不会产生通用文件。

我认为您在使用基于ARM架构的armeabi处理器时遇到问题。

要解决此问题,您必须制作一个特定的APK以支持该设备(家族)。为此,您可能需要使用以下命令:

flutter build apk --target-platform=android-arm

这是否意味着同一应用程序将拥有两个不同版本的APK?是的。

Here是更多信息,here是Google的正式文档。