Большое количество исключений RemoteServiceException в Google Cast MediaNotificationService - PullRequest
10 голосов
/ 10 февраля 2020

За последние ~ 24 часа мы видели несколько тысяч сбоев в Google MediaNotificationService:

Fatal Exception: android.app.RemoteServiceException
    Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{f9a4deb u0 <our package name>/com.google.android.gms.cast.framework.media.MediaNotificationService}
    android.app.ActivityThread$H.handleMessage (ActivityThread.java:1855)
    android.os.Handler.dispatchMessage (Handler.java:106)
    android.os.Looper.loop (Looper.java:214)
    android.app.ActivityThread.main (ActivityThread.java:6986)
    java.lang.reflect.Method.invoke (Method.java)
    com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run (RuntimeInit.java:494)
    com.android.internal.os.ZygoteInit.main (ZygoteInit.java:1445)

У меня возникали похожие проблемы при создании моей собственной службы переднего плана, но так как это в пределах библиотеки приведения мы не можем ее контролировать.

Приемник Chromecast обрабатывается третьей стороной. Мы используем:

api "com.google.android.gms:play-services-cast:17.0.0"
api "com.google.android.gms:play-services-cast-framework:17.0.0"

Потенциальные ключи:

  • Это происходит на OnePlus, Huawei, Samsung, Google, по-видимому, у каждого производителя (и уровня ОС) ) в цифрах, соответствующих их доле на рынке.
  • Сбои происходят на разных линиях для разных устройств (например, выше - Galaxy S9, вместо этого S8 на линии 1872), поэтому на Crashlytics не группируются вместе , Это наводит меня на мысль, что это проблема уровня служб OS / Google Play Services.
  • Сбои происходят во всех активных версиях приложения, начиная с одного и того же времени.
  • Сбои происходили на низких цифры за месяцы, но внезапно выросли в выходные и не показывают никаких признаков замедления.

Ответы [ 3 ]

5 голосов
/ 15 февраля 2020

Похоже, известная проблема :

Проблема возникла только на устройствах HUAWEI с Android 9: P20 pro, P30 pro, P20 lite, P30, P20, Honor View 10, Mate 20 pro

Версия Cast SDK: Android Отправитель 16.2.0 (я проверил примечания к выпуску Android Отправитель 17.1.0, но исправлений нет)

Вот журнал cra sh от fabri c:

Fatal Exception: android.app.RemoteServiceException: Context.startForegroundService() did not then call Service.startForeground(): ServiceRecord{3ac0035 u0 com.google.android.gms.cast.framework.media.MediaNotificationService}
       at android.app.ActivityThread$H.handleMessage + 2126(ActivityThread.java:2126)
       at android.os.Handler.dispatchMessage + 112(Handler.java:112)
       at android.os.Looper.loop + 216(Looper.java:216)
       at android.app.ActivityThread.main + 7625(ActivityThread.java:7625)
       at java.lang.reflect.Method.invoke(Method.java)
       at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run + 524(RuntimeInit.java:524)
       at com.android.internal.os.ZygoteInit.main + 987(ZygoteInit.java:987)

, который , как говорит инженер Google, исправлен :

У нас есть исправление для этого и того, которое должно быть выпущено в следующем Android выпуске клиентской библиотеки Cast.

, но они не знают, когда будет выпущено исправление :

Пока у нас нет solid даты, когда будет запланирован следующий релиз. Мы обновим его здесь, иначе, пожалуйста, проверьте здесь https://developers.google.com/cast/docs/release-notes

В примечаниях к выпуску не упоминается исправление для этого.

Я обновлю этот ответ, если найду что-нибудь еще.

Обновление

Это исправлено. См. Anjaneesh ответ .

Обновление

Есть некоторые проблемы с 18.0.0. См. rednaz ответ . Кроме того, комментаторы по этому вопросу по-прежнему испытывают сбои на платформах Samsung и Huawei , но по значительно сниженным ставкам. Я подал новый выпуск об этом.

4 голосов
/ 15 февраля 2020

Исправление выпущено в клиентской библиотеке Android Cast SDK v18.0.0 (см. Второй элемент примечаний к выпуску: https://developers.google.com/cast/docs/release-notes#december -5, -2019 )

Cra sh должен быть исправлен после обновления до v18.0.0

1 голос
/ 25 февраля 2020

Мы также испытываем эту проблему с очень подобными симптомами. Мы находимся на касте SDK версии 16.1.2

  • Только в Android 8 и выше. Кажется, связано с изменениями фонового выполнения здесь
  • Также низкие цифры по месяцам. Шпик недавно во всех версиях приложения. Теперь посмотрим на числа в тысячах.
  • 11 февраля вышло обновление сервисов воспроизведения. Может ли быть ссылка?

Что мы пробовали (Обновление до SDK 18.0.0)

Обновление до v18.0.0, по-видимому, устраняет проблему, о которой сообщает @ Anjanee sh. Однако в 18.0.0 внесены изменения в поведение при извлечении пользовательских данных. Мы заметили, что пользовательские данные, которые мы предоставляем в mediaInfo remoteMediaClient (и затем пытаемся получить), обнуляются, когда приложение отправителя отключается, а затем повторно подключается. Это нужно будет защитить, если вы еще этого не сделали!

...