Приложение Android вылетает при попытке подключиться к ресиверу CC - PullRequest
0 голосов
/ 11 ноября 2019

Некоторые из наших пользователей испытывают проблемы с подключением к приемнику Chromecast. Когда они выбирают устройство CC в приложении из списка доступных устройств, приложение вылетает. Вот трассировка стека сбоя, но Googles SDK кажется настолько загадочным, что мы не имеем представления о том, что на самом деле вызывает код.

Fatal Exception: java.lang.NullPointerException: Attempt to invoke interface method 'void com.google.android.gms.internal.cast.zzlp.zzhv()' on a null object reference
       at com.google.android.gms.internal.cast.zzmd.zza + 3(zzmd.java:3)
       at com.google.android.gms.internal.cast.zzmw.zze + 2519(zzmw.java:2519)
       at com.google.android.gms.internal.cast.zzlg$zzb.zzjd + 22(zzlg.java:22)
       at com.google.android.gms.internal.cast.zzlg$zzb.zzjf + 40(zzlg.java:40)
       at com.google.android.gms.internal.cast.zzlg$zzb.zzje + 25(zzlg.java:25)
       at com.google.android.gms.internal.cast.zzlg$zzb.zzjg + 41(zzlg.java:41)
       at com.google.android.gms.internal.cast.zzbc.zzb + 21(zzbc.java:21)
       at com.google.android.gms.internal.cast.zzba.onSessionResuming + 25(zzba.java:25)
       at com.google.android.gms.cast.framework.zzag.zzb + 35(zzag.java:35)
       at com.google.android.gms.cast.framework.zzz.dispatchTransaction + 37(zzz.java:37)
       at com.google.android.gms.internal.cast.zza.onTransact + 13(zza.java:13)
       at android.os.Binder.transact + 675(Binder.java:675)
       at kk.b + 13(kk.java:13)
       at sf.b + 28(sf.java:28)
       at sr.b + 31(sr.java:31)
       at ss.a + 89(ss.java:89)
       at rb.b + 8(rb.java:8)
       at st.handleMessage + 12(st.java:12)
       at android.os.Handler.dispatchMessage + 108(Handler.java:108)
       at zy.dispatchMessage + 5(zy.java:5)
       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)

Вот еще немного информации о SDK и версиях: версии Project для Android:

compileSdk: 28
buildTools: "28.0.3"
minSdk    : 21
targetSdk : 28

Зависимости для CC:

com.google.android.gms:play-services-cast-framework:17.1.0
androidx.mediarouter:mediarouter:1.1.0

Мы используем расширения androidx (Jetpack) с koin и livingata:

implementation "org.koin:koin-android:1.0.2"
implementation "org.koin:koin-androidx-viewmodel:1.0.2"
implementation "org.koin:koin-androidx-scope:1.0.2"
implementation "androidx.core:core-ktx:1.1.0"
implementation "androidx.lifecycle:lifecycle-extensions:2.1.0"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.1.0"
implementation "androidx.lifecycle:lifecycle-livedata:2.1.0"

Следует отметить, что трассировка стекапроисходит из класса kk.java, но другие устройства имеют другое имя, например lp.java или ke.java. Скорее всего, это из-за различных реализаций Google play-сервисов.

Буду признателен за любую помощь: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...