Failed to initialize CastContext in exoplayer

Viewed 308

I tried exoplayer-cast demo app and it was working fine, then i added demo files in my project i get following error

i keep on getting following error i used same dependencies from exoplayer-cast demo app to my app but still i keep getting error and app crashes on start.

    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.exocastplayer/com.example.exocastplayer.MainActivity}: java.lang.IllegalStateException: Failed to initialize CastContext.


2021-09-25 09:29:44.379 26831-26831/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.exocastplayer, PID: 26831
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.exocastplayer/com.example.exocastplayer.MainActivity}: java.lang.IllegalStateException: Failed to initialize CastContext.
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3303)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411)
    at android.app.ActivityThread.-wrap12(Unknown Source:0)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994)
    at android.os.Handler.dispatchMessage(Handler.java:108)
    at android.os.Looper.loop(Looper.java:166)
    at android.app.ActivityThread.main(ActivityThread.java:7529)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921)
 Caused by: java.lang.IllegalStateException: Failed to initialize CastContext.
    at com.google.android.gms.cast.framework.CastContext.zzg(com.google.android.gms:play-services-cast-framework@@20.0.0:11)
    at com.google.android.gms.cast.framework.CastContext.getSharedInstance(com.google.android.gms:play-services-cast-framework@@20.0.0:4)
    at com.example.exocastplayer.MainActivity.onCreate(MainActivity.java:69)
    at android.app.Activity.performCreate(Activity.java:7383)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3256)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411) 
    at android.app.ActivityThread.-wrap12(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994) 
    at android.os.Handler.dispatchMessage(Handler.java:108) 
    at android.os.Looper.loop(Looper.java:166) 
    at android.app.ActivityThread.main(ActivityThread.java:7529) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) 
 Caused by: java.lang.ClassNotFoundException: com.example.exocastplayer.DefaultCastOptionsProvider
    at java.lang.Class.classForName(Native Method)
    at java.lang.Class.forName(Class.java:453)
    at java.lang.Class.forName(Class.java:378)
    at com.google.android.gms.cast.framework.CastContext.zzg(com.google.android.gms:play-services-cast-framework@@20.0.0:7)
    at com.google.android.gms.cast.framework.CastContext.getSharedInstance(com.google.android.gms:play-services-cast-framework@@20.0.0:4) 
    at com.example.exocastplayer.MainActivity.onCreate(MainActivity.java:69) 
    at android.app.Activity.performCreate(Activity.java:7383) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3256) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411) 
    at android.app.ActivityThread.-wrap12(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994) 
    at android.os.Handler.dispatchMessage(Handler.java:108) 
    at android.os.Looper.loop(Looper.java:166) 
    at android.app.ActivityThread.main(ActivityThread.java:7529) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) 
 Caused by: java.lang.ClassNotFoundException: Didn't find class "com.example.exocastplayer.DefaultCastOptionsProvider" on path: DexPathList[[zip file "/data/app/com.example.exocastplayer-UGhOFJxDWgemfANNsc8fww==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.exocastplayer-UGhOFJxDWgemfANNsc8fww==/lib/arm64, /system/lib64, /vendor/lib64, /product/lib64]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:93)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at java.lang.Class.classForName(Native Method) 
    at java.lang.Class.forName(Class.java:453) 
    at java.lang.Class.forName(Class.java:378) 
    at com.google.android.gms.cast.framework.CastContext.zzg(com.google.android.gms:play-services-cast-framework@@20.0.0:7) 
    at com.google.android.gms.cast.framework.CastContext.getSharedInstance(com.google.android.gms:play-services-cast-framework@@20.0.0:4) 
    at com.example.exocastplayer.MainActivity.onCreate(MainActivity.java:69) 
    at android.app.Activity.performCreate(Activity.java:7383) 
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1218) 
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3256) 
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3411) 
    at android.app.ActivityThread.-wrap12(Unknown Source:0) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1994) 
    at android.os.Handler.dispatchMessage(Handler.java:108) 
    at android.os.Looper.loop(Looper.java:166) 
    at android.app.ActivityThread.main(ActivityThread.java:7529) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:245) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:921) 

and here is my project gradle and app gradle

    // Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.0.2"
        //classpath "com.google.gms:google-services:4.3.10"
        classpath 'com.google.android.gms:strict-version-matcher-plugin:1.2.2'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

App gradle :

    plugins {
    id 'com.android.application'
}

android {
    compileSdk 31

    defaultConfig {
        applicationId "com.example.exocastplayer"
        minSdk 21
        targetSdk 31
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}

dependencies {

    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.1'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'

    def exoplayerVersion = '2.15.1'
   
    implementation "com.google.android.exoplayer:exoplayer-core:$exoplayerVersion"
    implementation "com.google.android.exoplayer:exoplayer-ui:$exoplayerVersion"
    implementation "com.google.android.exoplayer:extension-cast:$exoplayerVersion"
}
apply plugin: 'com.google.android.gms.strict-version-matcher-plugin'
0 Answers
Related