为啥我会收到“服务未注册”异常,即使我没有在 Android - Java/Kotlin 中使用任何服务?
Posted
技术标签:
【中文标题】为啥我会收到“服务未注册”异常,即使我没有在 Android - Java/Kotlin 中使用任何服务?【英文标题】:Why does I'm getting "Service not registered" exception, even though I not used any service in Android - Java/Kotlin?为什么我会收到“服务未注册”异常,即使我没有在 Android - Java/Kotlin 中使用任何服务? 【发布时间】:2021-01-22 15:23:03 【问题描述】:我没有使用任何接收器或其他东西。但我在我的 android 项目中使用了 Firebase。以前我没有收到此异常,但突然出现了!
例外:
W: Exception thrown while unbinding
java.lang.IllegalArgumentException: Service not registered: com.google.android.gms.measurement.internal.zzjp@4701ac1
at android.app.LoadedApk.forgetServiceDispatcher(LoadedApk.java:1751)
at android.app.ContextImpl.unbindService(ContextImpl.java:1776)
at android.content.ContextWrapper.unbindService(ContextWrapper.java:741)
at com.google.android.gms.common.stats.ConnectionTracker.zza(com.google.android.gms:play-services-basement@@17.3.0:55)
at com.google.android.gms.common.stats.ConnectionTracker.unbindService(com.google.android.gms:play-services-basement@@17.3.0:50)
at com.google.android.gms.measurement.internal.zziv.zzag(com.google.android.gms:play-services-measurement-impl@@17.5.0:245)
at com.google.android.gms.measurement.internal.zziv.zzal(com.google.android.gms:play-services-measurement-impl@@17.5.0:262)
at com.google.android.gms.measurement.internal.zziv.zzc(com.google.android.gms:play-services-measurement-impl@@17.5.0:336)
at com.google.android.gms.measurement.internal.zziu.zza(com.google.android.gms:play-services-measurement-impl@@17.5.0:2)
at com.google.android.gms.measurement.internal.zzai.run(com.google.android.gms:play-services-measurement-impl@@17.5.0:7)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.google.android.gms.measurement.internal.zzfy.run(com.google.android.gms:play-services-measurement-impl@@17.5.0:21)
Manifest 文件中没有任何重要内容。
Buld.gradle(应用程序):
buildscript
repositories
google()
jcenter()
dependencies
classpath 'com.android.tools.build:gradle:4.1.0-rc03'
classpath 'com.google.gms:google-services:4.3.4'
classpath 'com.google.firebase:firebase-crashlytics-gradle:2.3.0'
allprojects
repositories
google()
jcenter()
task clean(type: Delete)
delete rootProject.buildDir
Build.gradle(模块)
dependencies
......
//Google Firebase
implementation 'com.google.firebase:firebase-auth:19.4.0'
implementation 'com.google.firebase:firebase-database:19.5.0'
implementation 'com.google.firebase:firebase-messaging:20.3.0'
implementation 'com.google.firebase:firebase-storage:19.2.0'
implementation 'com.google.firebase:firebase-crashlytics:17.2.2'
implementation 'com.google.android.gms:play-services-analytics:17.0.0'
implementation 'com.google.firebase:firebase-analytics:17.5.0'
//Google Location
implementation 'com.google.android.gms:play-services-location:17.1.0'
//Shimmer Layout
implementation 'com.facebook.shimmer:shimmer:0.5.0'
//Google Auth
implementation 'com.google.android.gms:play-services-auth:18.1.0'
implementation 'com.google.android.gms:play-services-auth-api-phone:17.4.0'
基础应用程序
public class BaseApplication extends Application
@Override
public void onCreate()
super.onCreate();
FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true);
FirebaseAnalytics.getInstance(this).setAnalyticsCollectionEnabled(true);
protected void showLog(String msg)
Log.d(this.getClass().getSimpleName(), msg);
疑难解答:
-
找到这个:https://developers.google.com/android/reference/com/google/android/gms/measurement/package-summary
在 *** 上搜索,但没有找到合适的解决方案
已检查清单文件
在测试时,Firebase 服务运行良好
不明白,在哪里调试什么!
谢谢!
【问题讨论】:
您是否在您的 gradle 文件中应用了插件以用于播放服务?像这样;应用插件:'com.google.gms.google-services' @samuelowino 是的,检查问题 na,这是 Google Analytics 依赖项的问题:developers.google.com/android/reference/com/google/android/gms/… 如果您使用的所有 Firebase 服务都正常工作,那么您可能应该忽略它,因为它是警告级别日志 @samuelowino 不不,我想解决这个问题,拜托! Firebase 分析存在一些问题 如果它确实影响了您的应用程序的要求,那么您应该调查一下,这似乎是一个内部 firebase 问题。 【参考方案1】:将此添加到您的 build.gradle
依赖项中:
dependencies
implementation 'com.google.android.gms:play-services-basement:17.5.0'
【讨论】:
@samuelowino 你能解释一下你的答案背后的原因吗?如何推断要包含哪个库以及它的哪个版本? 是的,如果您能解释为什么我们需要添加它,我们将不胜感激。提前致谢 为什么添加这个可以解决问题? 今天的答案不准确 太棒了@Timo【参考方案2】:此答案最后更新时间: 2021 年 2 月 12 日
我们无需采取任何行动。请等待 Google 大约在 2021 年 2 月发布此“已修复”问题。
正如你们中的许多人所指出的,事实证明存在一些 即使有触发警告的设备配置 我在上面提供的解决方法。
不幸的是,我们无能为力来“消除”警告 在 SDK 端。该警告是由“Google Play 服务”引起的 本身。好消息是问题的根本原因是现在 已修复,但它将在 2 月左右推出到设备上,因此我们将 不得不忍受这个警告几个月。
我知道这给开发人员带来了不便,但是 这是警告而不是崩溃。所以请耐心等待更新 推出。谢谢
PS:你们中的许多人评论说有时会遵循此警告 通过崩溃(除了它自己的例外),我相当有信心在大多数情况下 在这种情况下,崩溃与此警告完全无关,就这样 恰好发生在它之后。所以请调查你的崩溃 独立,只是忽略警告。但是,如果您认为 崩溃相关,请提供:
在您的崩溃相关依赖项发生时的完整堆栈跟踪 应用程序理想的步骤来重现 Bumping this reply,所以它更多 对人们可见。
再一次:警告是良性的,可以安全地忽略。修复将 2021 年 2 月左右推出,无需对开发人员采取任何行动 一方面,该修复将适用于 google play 服务本身和现有的 应用程序将停止生成警告。
来源:https://github.com/firebase/firebase-android-sdk/issues/1662#issuecomment-756917362
【讨论】:
我在 Flutter 中遇到过这个问题,现在还在处理中。 目前还没有修复吗? 问题依旧【参考方案3】:我最近遇到了类似的问题,但在 Android 模拟器中使用了 AdMob。寻找解决方案,但我什么也没找到。 最后,我关闭模拟器,打开AVD管理器擦除模拟器数据,重新打开模拟器然后警告异常消失了。
【讨论】:
【参考方案4】:在这个问题上遇到问题的开发人员我已经用 com.google.firebase:firebase-bom:26.1.1 进行了很多检查,我认为必须在颤振方面更改一些依赖项以支持最新的依赖项。
但您仍然可以使用以下命令让您的应用正常运行: 在您的 //build.gradle 文件中 ...
只需更换 bom 版本,或者你可以拥有我自己的版本,我也在使用..
dependencies
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation platform('com.google.firebase:firebase-bom:25.12.0')
implementation 'com.google.firebase:firebase-analytics-ktx'
implementation 'com.google.firebase:firebase-messaging'
【讨论】:
这不是一个合适的解决方案。【参考方案5】:我遇到了同样的问题。但是在检查firebase控制台时,我发现firebase错误为 “Storage full”表示当月的可用空间用于数据库。
【讨论】:
这是另一回事! @SychiSingh 这个答案可能对其他人有帮助。 不。问题的实际答案与Android设备播放服务版本有关。一旦推出,这个警告就会消失。 不,你错了。这个门户是为了帮助人们。有时会漏掉一些案件。通过检查所有答案,人们可以获得提示。不好争辩。 在那之后你仍然会面临这个问题,因为它与 Firebase 限制无关。它与具有某些播放服务版本的Android设备有关。以上是关于为啥我会收到“服务未注册”异常,即使我没有在 Android - Java/Kotlin 中使用任何服务?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我会收到一条异常消息“非虚拟(在 VB 中可覆盖)成员上的设置无效...”?
“在 onSaveInstanceState 之后无法执行此操作” - 为啥我会从我的活动的 onResume 方法中收到此异常?
当 Spring Cloud Stream 反应式使用者遇到异常时,为啥我会收到 onComplete 信号?
为啥我会收到 WELD-001303: No active contexts for scope type javax.enterprise.context.RequestScoped 异常?