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

mar*_*oia 86 java debugging android flutter

我的调试控制台向我展示了这个:

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)

Run Code Online (Sandbox Code Playgroud)

我不知道我该怎么做。

Und*_*ore 44

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

编辑 2 月 11 日:从快速测试中,我看到此警告在 Firebase 消息传递的 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)
...
Run Code Online (Sandbox Code Playgroud)

将折叠的更改为:

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@
...
Run Code Online (Sandbox Code Playgroud)

等等。我建议您保留原始的折叠消息,并添加一条新消息以记录您正在更改的内容。 在此处输入图片说明

我保留了堆栈中的第一条消息,以确保它没有被我忽略。这就是两个警告最终看起来的方式,而不是 26 行杂乱的代码。 在此处输入图片说明

编辑 12 月 16 日此警告的修复程序将于 2 月推出。不确定如何/为什么将此线程标记为已关闭和已修复,因为有多种变通方法或多或少起作用。

真正的解决方法是尝试一些建议,如果失败,请等待。

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

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

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

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

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

访问Oracle 的站点下载它!感谢 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'
Run Code Online (Sandbox Code Playgroud)

编辑 11 月 26 日:即使使用 King 之前的修复,异常也回来了。

编辑 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
Run Code Online (Sandbox Code Playgroud)

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

其他失败的选项:

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


小智 36

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

implementation 'com.google.android.gms:play-services-base:17.5.0'
implementation 'com.google.firebase:firebase-analytics:18.0.0'
Run Code Online (Sandbox Code Playgroud)

  • 不适合我:( (34认同)