chromecast - Android: Crash when setting up media route button -
i'm having pretty same problem android: cast sdk v3 crashing in release build only. key difference project while i'm debugging , on line
castbuttonfactory.setupmediaroutebutton(getapplicationcontext(), mmediaroutebutton);
i have tried making variables public doesn't anything. full code is
@override public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); mmediaroutebutton = (mediaroutebutton) findviewbyid(r.id.media_route_button); castbuttonfactory.setupmediaroutebutton(getapplicationcontext(), mmediaroutebutton); mcastcontext = castcontext.getsharedinstance(this); mselector = new mediarouteselector.builder() // these framework-supported intents .addcontrolcategory(mediacontrolintent.category_live_audio) .addcontrolcategory(mediacontrolintent.category_live_video) .addcontrolcategory(mediacontrolintent.category_remote_playback) .build(); mmediarouter = mediarouter.getinstance(this); }
also find worth mentioning code worked , can not life of me figure out caused stop working. far can tell stopped working when invalidated cache in android studio. error i'm getting
java.lang.runtimeexception: unable start activity componentinfo{mypackage.package/mypackage.package.mainactivity}: java.lang.illegalstateexception: failed initialize castcontext. @ android.app.activitythread.performlaunchactivity(activitythread.java:2646) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707) @ android.app.activitythread.-wrap12(activitythread.java) @ android.app.activitythread$h.handlemessage(activitythread.java:1460) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:154) @ android.app.activitythread.main(activitythread.java:6077) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755) caused by: java.lang.illegalstateexception: failed initialize castcontext. @ com.google.android.gms.cast.framework.castcontext.zzbb(unknown source) @ com.google.android.gms.cast.framework.castcontext.getsharedinstance(unknown source) @ com.google.android.gms.cast.framework.castbuttonfactory.setupmediaroutebutton(unknown source) @ mypackage.package.mainactivity.oncreate(mainactivity.java:51) @ android.app.activity.performcreate(activity.java:6664) @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1118) @ android.app.activitythread.performlaunchactivity(activitythread.java:2599) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707) @ android.app.activitythread.-wrap12(activitythread.java) @ android.app.activitythread$h.handlemessage(activitythread.java:1460) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:154) @ android.app.activitythread.main(activitythread.java:6077) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755) caused by: java.lang.illegalaccessexception: java.lang.class<mypackage.package.castoptionsprovider> not accessible java.lang.class<com.google.android.gms.cast.framework.castcontext> @ java.lang.class.newinstance(native method) @ com.google.android.gms.cast.framework.castcontext.zzbb(unknown source) @ com.google.android.gms.cast.framework.castcontext.getsharedinstance(unknown source) @ com.google.android.gms.cast.framework.castbuttonfactory.setupmediaroutebutton(unknown source) @ mypackage.package.mainactivity.oncreate(mainactivity.java:51) @ android.app.activity.performcreate(activity.java:6664) @ android.app.instrumentation.callactivityoncreate(instrumentation.java:1118) @ android.app.activitythread.performlaunchactivity(activitythread.java:2599) @ android.app.activitythread.handlelaunchactivity(activitythread.java:2707) @ android.app.activitythread.-wrap12(activitythread.java) @ android.app.activitythread$h.handlemessage(activitythread.java:1460) @ android.os.handler.dispatchmessage(handler.java:102) @ android.os.looper.loop(looper.java:154) @ android.app.activitythread.main(activitythread.java:6077) @ java.lang.reflect.method.invoke(native method) @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:865) @ com.android.internal.os.zygoteinit.main(zygoteinit.java:755)
if happening in release buildtype related proguard. please add castoptionsprovider class proguard file , recheck
-keep class abc.xyz.videocast.castoptionsprovider { *; }
for more safety these classes can added
-keep class android.support.** { *; } -keep class com.google.** { *; }
Comments
Post a Comment