flutter - 无法启动服务 rekab.app.background_locator.IsolateHolderService
问题描述
当用户通过单击按钮激活跟踪时,我使用 background_locator 来跟踪 geo_location。然后将该位置发布到 API,该 API 将其记录在数据库中。
该功能在调试模式下工作,但在发布模式下崩溃并出现以下异常:
E/AndroidRuntime(31736): FATAL EXCEPTION: main
E/AndroidRuntime(31736): Process: za.co.liquidedge.celltrack, PID: 31736
E/AndroidRuntime(31736): java.lang.RuntimeException: Unable to start service rekab.app.background_locator.IsolateHolderServiceolateHolderService (has extras) }: java.lang.RuntimeException: Missing type parameter.
E/AndroidRuntime(31736): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4759)
E/AndroidRuntime(31736): at android.app.ActivityThread.access$1900(ActivityThread.java:301)
E/AndroidRuntime(31736): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2186)
E/AndroidRuntime(31736): at android.os.Handler.dispatchMessage(Handler.java:106)6)
E/AndroidRuntime(31736): at android.os.Looper.loop(Looper.java:246) a:8506)
E/AndroidRuntime(31736): at android.app.ActivityThread.main(ActivityThread.java:8506) aller.run(RuntimeInit.java:602)
E/AndroidRuntime(31736): at com.android.internal.os.RuntimeInit$MethodAndArgsC.java:1130)aller.run(RuntimeInit.java:602) r.
E/AndroidRuntime(31736): at com.android.internal.os.ZygoteInit.main(ZygoteInite:26).java:1130)
E/AndroidRuntime(31736): Caused by: java.lang.RuntimeException: Missing type parametece:0)r. )
E/AndroidRuntime(31736): at d.c.c.O.a.getSuperclassTypeParameter(Unknown Sourc23)e:26) onStartCommand(:11)
E/AndroidRuntime(31736): at d.c.c.O.a.<init>(Unknown Source:7) ityThread.java:4741)
E/AndroidRuntime(31736): at rekab.app.background_locator.e.<init>(Unknown Source:0)
E/AndroidRuntime(31736): at rekab.app.background_locator.f.b(Unknown Source:24)
E/AndroidRuntime(31736): at rekab.app.background_locator.g.d.a(Unknown Source:23)
E/AndroidRuntime(31736): at rekab.app.background_locator.IsolateHolderService.onStartCommand(:11)
E/AndroidRuntime(31736): at android.app.ActivityThread.handleServiceArgs(ActivityThread.java:4741)
解决方案
我通过将这些规则添加到android/app/proguard-rules.pro
# Gson uses generic type information stored in a class file when working with fields. Proguard
# removes such information by default, so configure it to keep all of it.
-keepattributes Signature
# Gson specific classes
-keep class sun.misc.Unsafe { *; }
#-keep class com.google.gson.stream.** { *; }
# Application classes that will be serialized/deserialized over Gson
-keep class com.google.gson.examples.android.model.** { *; }
推荐阅读
- javascript - 如何使用 mustach 渲染超链接?
- flutter - 如何在 Ffutter 中使用 Laravel Echo 和 Socket.io
- c - 在 C 中的下三角形中打印字母
- android - Android:即使我之前登录过,Firebase 当前用户也会返回 null
- jquery - 如何从 JQuery 中的变量中按名称选择复选框
- php - laravel 数组用不同的 id 更新多行
- javascript - 有没有办法消除 Angular Js 中的这个错误?
- sql - 如何将数组传递给更新语句?
- visual-studio - OpenDDS 构建中的问题
- jprofiler - JProfiler 未检测到正在运行的 AdoptOpenJDK 11 openJ9