如何修复Flutter中的“解绑时抛出异常,java.lang.IllegalArgumentException:服务未注册:lp@9f7d4ca”异常?

2022-08-31 11:34:12

我的调试控制台向我显示以下内容:

W/ConnectionTracker(17934): Exception thrown while unbinding
W/ConnectionTracker(17934): java.lang.IllegalArgumentException: Service not registered: lp@9f7d4ca
W/ConnectionTracker(17934):     at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1557)
W/ConnectionTracker(17934):     at android.app.ContextImpl.unbindService(ContextImpl.java:1692)
W/ConnectionTracker(17934):     at android.content.ContextWrapper.unbindService(ContextWrapper.java:717)
W/ConnectionTracker(17934):     at ci.f(:com.google.android.gms.dynamite_measurementdynamite@204215067@20.42.15 (100408-0):1)
W/ConnectionTracker(17934):     at ci.d(:com.google.android.gms.dynamite_measurementdynamite@204215067@20.42.15 (100408-0):2)
W/ConnectionTracker(17934):     at lq.D(:com.google.android.gms.dynamite_measurementdynamite@204215067@20.42.15 (100408-0):10)
W/ConnectionTracker(17934):     at lc.a(:com.google.android.gms.dynamite_measurementdynamite@204215067@20.42.15 (100408-0):2)

我不知道我该怎么做。


答案 1

此警告的修复程序将于 2 月推出!

编辑2月11日:从快速测试中,我看到此警告在Firebase消息传递的v. 8.0.0中消失了,但该软件包仍在开发中;链接到它

编辑1月13日:Android Studios在输出中有一个整齐的选项来折叠行。如果您想摆脱在开发时容易干扰的长消息,请右键单击该行并将其折叠。但之前要调整它,因为某些值会发生变化。

从此堆栈中:

W/ConnectionTracker(13852): java.lang.IllegalArgumentException: Service not registered: ls@ed97760
W/ConnectionTracker(13852):     at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1562)
W/ConnectionTracker(13852):     at android.app.ContextImpl.unbindService(ContextImpl.java:1692)
W/ConnectionTracker(13852):     at android.content.ContextWrapper.unbindService(ContextWrapper.java:717)
W/ConnectionTracker(13852):     at ci.f(:com.google.android.gms.dynamite_measurementdynamite@204714068@20.47.14 (100700-0):1)
...

将折叠的更改为:

java.lang.IllegalArgumentException: Service not registered: 
at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:
at android.app.ContextImpl.unbindService(ContextImpl.java:
at android.content.ContextWrapper.unbindService(ContextWrapper.java:
f(:com.google.android.gms.dynamite_measurementdynamite@
...

等等。我建议您保留原始折叠的消息,只需添加一个新消息,即可了解您正在更改的内容的历史记录。enter image description here

我从堆栈中保留了第一条消息,以确保它没有我忽略的其他内容。这就是两个警告最终看起来而不是26行混乱代码的方式。enter image description here

编辑12月16日此警告的修复程序将于2月推出。不知道如何/为什么这个线程被标记为已关闭和修复,因为有多种解决方法或多或少有效的情况。

真正的解决方法是尝试一些建议,如果它们失败了,只需等待。

编辑12月13日:从这个Git讨论中,我们确认此错误不会导致任何其他问题,也不会崩溃。

没有抛出错误的旧机器在更新后开始这样做。

我们只需要等待更新,这将使这些警告消失。

编辑12月8日:Java和将SHA添加到我的Firebase控制台中都没有帮助!

编辑4th Dec:看起来在有问题的机器上,我没有安装Java。经过多次构建和擦除后,一切看起来都很好。我会留意的!

访问甲骨文网站下载!感谢 Talha 对 SHA 的评论(keytool 需要 Java)!

编辑12月3日:我做了另一个Firebase设置,正如Timo Bähr指出的那样,Firebase设置的文档已经更新。如您所见,添加了firebase-bom,但也可以选择Java或Kotlin。

仔细检查了我的项目,并:

  1. 将所有依赖项更改为 Kotlin ( 结束)-ktx
  2. 擦除了所有设备数据
  3. 删除了旧的未使用的模拟器
  4. 冷启动设备(均来自 Android Studio 虚拟设备管理器)

现在错误消失了(现在?)!

// Import the Firebase BoM
implementation platform('com.google.firebase:firebase-bom:26.1.0')

// When using the BoM, you don't specify versions in Firebase library dependencies

// Declare the dependency for the Firebase SDK for Google Analytics
implementation 'com.google.firebase:firebase-analytics-ktx'

// Declare the dependencies for any other desired Firebase products
// For example, declare the dependencies for Firebase Authentication and Cloud Firestore
implementation 'com.google.firebase:firebase-auth-ktx'
implementation 'com.google.firebase:firebase-firestore-ktx'

编辑11月26日:即使有国王以前的修复,例外也回来了。

编辑11月23日:错误在1-2天后再次出现。请检查King Alawaka的答案,该答案可能包含与此Github回复相同的解决方案。积极的反馈来自它。:)

初始响应:更新 Firebase 依赖项后,我摆脱了这些错误。以下是我当前使用的版本:

firebase_core: ^0.5.2
firebase_database: ^4.3.0
firebase_analytics: ^6.2.0
firebase_messaging: ^7.0.3
firebase_crashlytics: ^0.2.3

这可能无济于事,因为我看到了这个git问题,其中报告的版本与我使用的版本相似。

其他失败的选项:

  • implementation 'com.google.android.gms:play-services-basement:17.5.0'android\app\build.gradle
  • 将某些软件包降级到~1个月的版本
  • 禁用分析和崩溃分析(也删除了软件包)
  • 切换仿真设备
  • 鞭打这些设备上的所有数据

答案 2

将以下内容添加到您的 android\app\build.gradle

implementation 'com.google.android.gms:play-services-base:17.5.0'
implementation 'com.google.firebase:firebase-analytics:18.0.0'