簡體   English   中英

為什么我會收到“服務未注冊”異常,即使我沒有在 Android - Java/Kotlin 中使用任何服務?

[英]Why does I'm getting "Service not registered" exception, even though I not used any service in Android - Java/Kotlin?

我沒有使用任何接收器或其他東西。 但是我在我的 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);
    }

}

故障排除:

  1. 發現這個: https : //developers.google.com/android/reference/com/google/android/gms/measurement/package-summary
  2. 在stackoverflow上搜索,但沒有找到合適的解決方案
  3. 檢查清單文件
  4. 測試時,Firebase 服務運行良好
  5. 沒看懂,什么地方調試!

謝謝!

將此添加到您的build.gradle依賴項中:

dependencies {
    implementation 'com.google.android.gms:play-services-basement:17.5.0'
}

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

我們不需要采取任何行動。 等待 Google 大約在 2021 年 2 月發布此“已修復”問題。

正如你們中的許多人所指出的那樣,即使使用我上面提供的解決方法,也存在一些觸發警告的設備配置。

不幸的是,我們無能為力來“消除”SDK 端的警告。 該警告是由“Google Play 服務”本身引起的。 好消息是問題的根本原因現已解決,但它將在 2 月左右推出到設備,因此我們將不得不忍受此警告幾個月。

我知道這給開發人員帶來了不便,但它是警告而不是崩潰。 所以請耐心等待,直到更新推出。 謝謝

PS:你們中的許多人評論說這個警告有時會伴隨着崩潰(有它自己的例外),我相當有信心在大多數情況下,崩潰與這個警告完全無關,恰好在它之后發生。 所以請獨立調查你的崩潰,忽略警告。 但是,如果您認為崩潰是相關的,請提供:

在您的應用程序的相關依賴項崩潰時的完整堆棧跟蹤理想情況下會逐步重現此回復,因此人們更容易看到它。

再一次:警告是良性的,可以安全地忽略。 該修復程序將於 2021 年 2 月左右推出,開發人員無需采取任何行動,該修復程序將適用於 google play 服務本身,現有應用程序將停止生成警告。

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

我最近遇到了類似的問題,但在 android 模擬器中使用 AdMob。 搜索解決方案,但我什么也沒找到。 最后,我關閉模擬器,打開 AVD 管理器擦除模擬器數據,重新打開模擬器然后警告異常消失了。

在這個問題上遇到問題的開發人員我已經通過 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'
}

我面臨同樣的問題。 但是在檢查 firebase 控制台時,我發現 firebase 錯誤為“存儲已滿”,這意味着一個月的可用空間用於數據庫。

在此處輸入圖片說明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM