[英]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);
}
}
故障排除:
謝謝!
將此添加到您的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'
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.