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

颤振-在运行Android 4.4(Kitkat)的小米设备上崩溃-Firebase错误,android,firebase,flutter,crash,android-4.4-kitkat,Android,Firebase,Flutter,Crash,Android 4.4 Kitkat,我只是在小米设备上,特别是在安卓4.4(KitKat)上,才发现这个错误 我的应用程序在开始时突然崩溃,我已捕获错误日志: E/AndroidRuntime(15685): FATAL EXCEPTION: main E/AndroidRuntime(15685): Process: z.zapps, PID: 15685 E/AndroidRuntime(15685): java.lang.RuntimeException: Unable to get provider com.google.

我只是在小米设备上,特别是在安卓4.4(KitKat)上,才发现这个错误

我的应用程序在开始时突然崩溃,我已捕获错误日志:

E/AndroidRuntime(15685): FATAL EXCEPTION: main
E/AndroidRuntime(15685): Process: z.zapps, 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/z.zapps-1.apk"],nativeLibraryDirectories=[/data/app-lib/z.zapps-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/z.zapps-1.apk"],nativeLibraryDirectories=[/data/app-lib/z.zapps-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 z.zapps/.MainActivity
我正在使用firebase库的
pubspec.yaml

firebase\u认证:^0.8.2
firebase\u消息:^4.0.0+4


有什么办法解决这个问题吗?

简短回答: 使用命令生成APK文件:
flatterbuildapk--targetplatform=android arm

长答案: 问题在于设备的处理器类型。在Android世界中,有7种不同的处理器类型(mips、mips64、X86、X86–64、armeabi、arm64-v8a、armeabi-v7a)。标准的颤振构建apk命令不会生成通用文件

我认为您对使用基于ARM架构的armeabi处理器有问题

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

flutter build apk --target-platform=android-arm
这是否意味着同一个应用程序将有两个不同版本的APK?对


是更多信息,是谷歌的官方文件。

这可能是该手机上谷歌播放服务(过时)的问题。您是否尝试执行集成了firebase的虚拟本机项目?当然。祝你好运:)我对我的应用程序的小米用户也有同样的问题(正是安卓6.0.1上的红米4和一些)。最后,有了上面提到的,我甚至可以在Android 4.4.x上运行Redmi 1。