Неустранимое исключение: java.lang.NoSuchMethodError в com.google.android.gms.common.api.internal.BackgroundDetector.readCurrentStateIfPossible - PullRequest
0 голосов
/ 04 марта 2019

Я получил много этого на 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'

+ firebase:

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'

Что, кажется, актуально (на момент написания)

Могу ли я что-нибудь сделать, чтобы предотвратить эти сбои?

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

До тех пор, пока проблема не будет решена 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"
}
0 голосов
/ 11 марта 2019

Я нашел источник этой проблемы:

play-services-base:16.1.0 предположим, что он работает по крайней мере на ОС JellyBean (API уровня 16) (я нашел это с помощью java-декомпилятора Android Studio (PlatformVersion.isAtLeastJellyBean просто безоговорочно)верните true.)), что, в моем случае, неверно.

Так что я понизился до play-services-base:16.1.0 до play-services-base:16.0.1, и сбои были остановлены.

...