首页 > 解决方案 > lassCastException:io.flutter.app.FlutterPluginRegistry 无法转换为 io.flutter.embedding.engine.FlutterEngine

问题描述

当我们卸载应用程序并首次加载时,notificaiotn 正在工作,但之后它显示此错误



java.lang.RuntimeException: Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.ClassCastException: io.flutter.app.FlutterPluginRegistry cannot be cast to io.flutter.embedding.engine.FlutterEngine at android.app .ActivityThread.handleCreateService(ActivityThread.java:3976) 在 android.app.ActivityThread.-wrap5(Unknown Source:0) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:2109) 在 android.os.Handler。 dispatchMessage(Handler.java:109) at android.os.Looper.loop(Looper.java:166) at android.app.ActivityThread.main(ActivityThread.java:7555) at java.lang.reflect.Method.invoke(Native方法)在 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469) 在 com.android。internal.os.ZygoteInit.main(ZygoteInit.java:963) 原因:java.lang.ClassCastException:io.flutter.app.FlutterPluginRegistry 无法在 com.midhilaj.aquarium_shop 转换为 io.flutter.embedding.engine.FlutterEngine。 Application.registerWith(Application.java:25) at io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService.startBackgroundIsolate(FlutterFirebaseMessagingService.java:164) at io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService.onCreate(FlutterFirebaseMessagingService.java:77) at android .app.ActivityThread.handleCreateService(ActivityThread.java:3956) at android.app.ActivityThread.-wrap5(Unknown Source:0) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2109) at android.os。 Handler.dispatchMessage(Handler.java:109) 在 android.os.Looper.loop(Looper.java:166) 在 android.app.ActivityThread.main(ActivityThread.java:7555) 在 java.lang.reflect.Method.invoke(Native Method) 在 com.android .internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:469) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:963)

 



D/FlutterActivity(3682):使用启动主题作为普通主题。D/FlutterActivityAndFragmentDelegate(3682):设置 FlutterEngine。D/FlutterActivityAndFragmentDelegate(3682):没有提供首选的 FlutterEngine。为这个 FlutterFragment 创建一个新的 FlutterEngine。D/FlutterActivityAndFragmentDelegate(3682):将FlutterEngine附加到拥有这个Fragment的Activity上。D/FlutterView(3682):从 FlutterEngine 分离:null D/FlutterView(3682):未附加到引擎。什么也不做。D/FlutterView(3682):附加到 FlutterEngine:io.flutter.embedding.engine.FlutterEngine@54b88a0 D/FlutterActivityAndFragmentDelegate(3682):执行 Dart 入口点:main,并发送初始路由:/同步文件到设备 DUB LX1.. . I/flutter (3682): -----=--token:db37iEIOPw2r5Y9LpYpXz-H V/FA (3682): https://firebasestorage.googleapis.com/ , subTitle: null, subTitleAr: null, title: Gold FIsh, titleAr: null} I/flutter (3682): getMyCart fn I/flutter (3682): e222banner2 => {actionPage:空,buttonLabel:空,buttonLabelAr:空,img: https ://firebasestorage.googleapis.com/, subTitle: null, subTitleAr: null, title: Gold FIsh, titleAr: null} I/flutter (3682): getMyCart user 6AiQ2pG8nsaskpcUbbyJM7eCPuR2 D/ConnectivityManager(3682): requestNetwork,调用应用程序是:com.midhilaj.aquarium_shop W/DynamiteModule (3682):找不到提供程序安装程序的本地模块描述符类。I/DynamiteModule(3682):考虑本地模块 providerinstaller:0 和远程模块 providerinstaller:0 W/ProviderInstaller(3682):无法加载 providerinstaller 模块:找不到可接受的模块。本地版本为 0,远程版本为 0。 D/HwFLClassLoader(3682): USE_FEATURE_LIST 没有初始化!W/zygote64(3682):位置 0 的 ClassLoaderContext 类路径大小不匹配。预期 = 0,发现 = 1 (PCL[] | PCL[/system/framework/com.android.media.remotedisplay.jar*818632460]) V/NativeCrypto (3682):注册 com/google/android/gms/org/conscrypt/NativeCrypto 的 286 个本机方法... D/NetworkSecurityConfig(3682):未指定网络安全配置,使用平台默认 I/ProviderInstaller(3682):安装默认安全提供程序 GmsCore_OpenSSL D/ ConnectivityManager(3682):requestNetwork,调用app是:com.midhilaj.aquarium_shop I/zygote64(3682):做部分代码缓存收集,code=60KB,data=46KB I/zygote64(3682):代码缓存收集后,code =60KB,数据=46KB I/zygote64(3682):将代码缓存容量增加到 256KB I/zygote64(3682):启动配置文件保护程序 IsSaveProfileNow 结束。I/flutter(3682):快照为空 D/AndroidRuntime(3682):关闭 VM E/AndroidRuntime(3682):致命异常:主要 E/AndroidRuntime(3682):进程:com.midhilaj.aquarium_shop,PID:77) E/AndroidRuntime(3682): 在 android.app.ActivityThread.handleCreateService(ActivityThread.java:3956) E/AndroidRuntime(3682): ... 8 更多 I/Process (3682): 发送信号。PID:3682 SIG:9 失去与设备的连接。

import io.flutter.app.FlutterApplication;
import io.flutter.embedding.engine.FlutterEngine;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;

import io.flutter.app.FlutterApplication;
import io.flutter.plugin.common.PluginRegistry;
import io.flutter.plugin.common.PluginRegistry.PluginRegistrantCallback;
import io.flutter.plugins.GeneratedPluginRegistrant;
import io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService;

public class Application extends FlutterApplication implements PluginRegistrantCallback {
    FlutterEngine fe;

    @Override
    public void onCreate() {
        super.onCreate();
        FlutterFirebaseMessagingService.setPluginRegistrant(this);
    }

    @Override
    public void registerWith(PluginRegistry registry) {
        GeneratedPluginRegistrant.registerWith((FlutterEngine) registry);
    }
}

标签: flutterfirebase-cloud-messagingflutter-dependencies

解决方案


以这种方式使用 FlutterEngine

它解决了我的问题

GeneratedPluginRegistrant.registerWith(FlutterEngine(applicationContext));

推荐阅读