flutter - 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);
}
}
解决方案
以这种方式使用 FlutterEngine
它解决了我的问题
GeneratedPluginRegistrant.registerWith(FlutterEngine(applicationContext));
推荐阅读
- r - 在 for 循环中附加 t.test 的问题
- python - 奇怪的函数调用和不一致的结果
- swiftui - iOS 在 iOS 13 中播放音频引发 C++ 异常,冻结应用
- python - 重新忽略某些行
- python - file_object.read() 在 python 3 中计算为空字符串
- python - 如何使用 CrawlSpider 动态设置“start_urls”
- c# - 需要通过 IIS 应用程序访问 Google Drive V3 - 不使用 MVC
- reactjs - 如何使用 webpack 和 typescript 将 npm 模块 css 导入为全局?
- oop - 数值模拟的函数式编程
- javascript - 在基于 XML 的 Web 应用程序中包含导致 XML 解析错误的库