为什么我得到“服务未注册"?例外,即使我没有在 Android 中使用任何服务 - Java/Kotlin? [英] Why does I'm getting "Service not registered" exception, even though I not used any service in Android - Java/Kotlin?

查看:20
本文介绍了为什么我得到“服务未注册"?例外,即使我没有在 Android 中使用任何服务 - Java/Kotlin?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我没有使用任何接收器或其他东西.但是我在我的 Android 项目中使用了 Firebase.以前我没有收到这个异常,但突然出现了!

I haven't used any receiver or something. But I used Firebase in my Android project. Previously I was not getting this exception, but suddenly it is showing!

例外:

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 文件中没有任何重要的内容.

There is nothing important in Manifest file.

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);
    }

}

疑难解答:

  1. 发现这个:https://developers.google.com/android/reference/com/google/android/gms/measurement/package-summary
  2. 在 stackoverflow 上搜索,但没有找到合适的解决方案
  3. 检查清单文件
  4. 测试时,Firebase 服务运行良好
  5. 没看懂,调试什么地方!

谢谢!

推荐答案

此答案最后更新于: 2021 年 2 月 12 日

This answer is last updated on: 12-Feb-2021

我们不需要采取任何行动.等待谷歌发布这个固定"大约在 2021 年 2 月发行.

正如你们中的许多人指出的那样,事实证明存在一些触发警告的设备配置,即使是我在上面提供的解决方法.

As many of you have pointed out, it turns out that there exist some device configurations that trigger the warning even with the workaround I provided above.

不幸的是,我们对沉默"无能为力.警告在 SDK 端.该警告是由Google Play 服务"引起的.本身.好消息是问题的根本原因现在是已修复,但是它将在 2 月左右推出到设备,因此我们将必须忍受这个警告几个月.

Unfortunately there is nothing more we can do to "silence" the warning on the SDK side. The warning is caused by "Google Play Services" itself. The good news is that the root cause of the issue is now fixed, however it will roll out to devices around February, so we will have to live with this warning for a few months.

我知道这给开发者带来了不便,但是 fwiw这是警告而不是崩溃.所以请耐心等待更新推出.谢谢

I understand that it is causing inconvenience for developers, but fwiw it's a warning not a crash. So please bear with us till the update gets rolled out. Thanks

PS:你们中的许多人评论说有时会遵循此警告由于崩溃(有其自身的例外),我相当有信心在大多数情况下在这种情况下,崩溃与此警告完全无关,仅此而已恰好在它之后发生.所以请调查你的崩溃独立,只是忽略警告.然而,如果你认为崩溃是相关的,请提供:

PS: Many of you have commented that this warning is sometimes followed by a crash(with its own exception), I am fairly confident that in most cases, the crash is completely unrelated to this warning and just so happens to occur right after it. So please investigate your crashes independently, just ignoring the warning. If however you think that the crash is related, please provide:

发生崩溃时的完整堆栈跟踪您的相关依赖项理想情况下,应用程序会逐步重现此回复,因此它更多对人们可见.

full stack traces at the event of crash relevant dependencies of your app ideally steps to reproduce Bumping this reply again, so it's more visible for folks.

再一次:警告是良性的,可以安全忽略.修复将于 2021 年 2 月左右推出,开发人员无需采取任何行动方面,修复将适用于谷歌播放服务本身和现有应用将停止生成警告.

Once again: The warning is benign and is safe to ignore. The fix will get rolled out around Feb 2021, no action is required on developers' side, the fix will apply to google play services itself and existing apps will stop generating the warning.

来源:https://github.com/firebase/firebase-android-sdk/issues/1662#issuecomment-756917362

这篇关于为什么我得到“服务未注册"?例外,即使我没有在 Android 中使用任何服务 - Java/Kotlin?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆