致命异常:com.google.android.gms.common.api.internal.BackgroundDetector.readCurrentStateIfPossible 中的 java.lang.NoSuchMethodError
Fatal Exception: java.lang.NoSuchMethodError in com.google.android.gms.common.api.internal.BackgroundDetector.readCurrentStateIfPossible
我在 Android 4.0.4 上得到了很多这样的东西,其中 android.app.ActivityManager.getMyMemoryState
缺少方法。
完整的堆栈跟踪是:
Fatal Exception: java.lang.NoSuchMethodError: android.app.ActivityManager.getMyMemoryState
at com.google.android.gms.common.api.internal.BackgroundDetector.readCurrentStateIfPossible(Unknown Source:17)
at com.google.android.gms.common.api.internal.GoogleApiManager.handleMessage(Unknown Source:169)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.google.android.gms.internal.base.zap.dispatchMessage(Unknown Source:8)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:65
我的 gms 相关依赖项是:
implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.android.gms:play-services-games:16.0.0'
+ 火力基地:
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-perf:16.2.3'
implementation 'com.google.firebase:firebase-ads:17.1.3'
这似乎是最新的(在撰写本文时)
我能做些什么来防止这些崩溃?
我找到了这个问题的根源:
play-services-base:16.1.0
假设它至少运行在 JellyBean(API 级别 16)OS(我在 Android Studio java 反编译器的帮助下找到了这个(PlatformVersion.isAtLeastJellyBean
只是无条件 return 正确。)),这在我的情况下是不正确的。
所以我将 play-services-base:16.1.0
降级到 play-services-base:16.0.1
并停止了崩溃。
直到Google没有解决问题,就使用强制play-services-basement:16.0.1
implementation "com.google.android.gms:play-services-basement:16.0.1"
configurations.all {
resolutionStrategy.force "com.google.android.gms:play-services-basement:16.0.1"
}
我在 Android 4.0.4 上得到了很多这样的东西,其中 android.app.ActivityManager.getMyMemoryState
缺少方法。
完整的堆栈跟踪是:
Fatal Exception: java.lang.NoSuchMethodError: android.app.ActivityManager.getMyMemoryState
at com.google.android.gms.common.api.internal.BackgroundDetector.readCurrentStateIfPossible(Unknown Source:17)
at com.google.android.gms.common.api.internal.GoogleApiManager.handleMessage(Unknown Source:169)
at android.os.Handler.dispatchMessage(Handler.java:95)
at com.google.android.gms.internal.base.zap.dispatchMessage(Unknown Source:8)
at android.os.Looper.loop(Looper.java:154)
at android.os.HandlerThread.run(HandlerThread.java:65
我的 gms 相关依赖项是:
implementation 'com.google.android.gms:play-services-base:16.1.0'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
implementation 'com.google.android.gms:play-services-games:16.0.0'
+ 火力基地:
implementation 'com.google.firebase:firebase-core:16.0.7'
implementation 'com.google.firebase:firebase-perf:16.2.3'
implementation 'com.google.firebase:firebase-ads:17.1.3'
这似乎是最新的(在撰写本文时)
我能做些什么来防止这些崩溃?
我找到了这个问题的根源:
play-services-base:16.1.0
假设它至少运行在 JellyBean(API 级别 16)OS(我在 Android Studio java 反编译器的帮助下找到了这个(PlatformVersion.isAtLeastJellyBean
只是无条件 return 正确。)),这在我的情况下是不正确的。
所以我将 play-services-base:16.1.0
降级到 play-services-base:16.0.1
并停止了崩溃。
直到Google没有解决问题,就使用强制play-services-basement:16.0.1
implementation "com.google.android.gms:play-services-basement:16.0.1"
configurations.all {
resolutionStrategy.force "com.google.android.gms:play-services-basement:16.0.1"
}