我在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'
似乎是最新的(在撰写本文时)
我能做些什么来防止那些崩溃吗?
答案 0 :(得分:4)
我找到了此问题的来源:
play-services-base:16.1.0
假定它至少在JellyBean(API级别16)操作系统上运行(我在Android Studio Java反编译器的帮助下发现了这个问题(PlatformVersion.isAtLeastJellyBean
只是无条件地返回true。)),这不是就我而言是真的。
所以我降级到play-services-base:16.1.0
到play-services-base:16.0.1
,崩溃已停止。
答案 1 :(得分: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"
}