Skip to content

Crash on Android SDK 24 #23

@andreas-umbricht

Description

@andreas-umbricht

During testing for Android SDK 24, we noticed that the app instantly crashes after launch because of the Cidaas SDK. On Android SDK 36 everything works just fine.

17:18:36.352  E  FATAL EXCEPTION: main (Fix with AI)
                 Process: ch.srgssr.playsuisse.tv.debug, PID: 2851
                 java.lang.NoClassDefFoundError: Failed resolution of: Ljava/lang/BootstrapMethodError;
                 	at com.fasterxml.jackson.databind.util.ExceptionUtil.isFatal(ExceptionUtil.java:51)
                 	at com.fasterxml.jackson.databind.util.ExceptionUtil.rethrowIfFatal(ExceptionUtil.java:31)
                 	at com.fasterxml.jackson.databind.introspect.JacksonAnnotationIntrospector.<clinit>(JacksonAnnotationIntrospector.java:70)
                 	at com.fasterxml.jackson.databind.ObjectMapper.<clinit>(ObjectMapper.java:375)
                 	at de.cidaas.sdk.android.helper.general.DBHelper.<clinit>(DBHelper.java:41)
                 	at de.cidaas.sdk.android.helper.general.DBHelper.setConfig(DBHelper.java:123)
                 	at de.cidaas.sdk.android.helper.general.CidaasHelper.initialiseObject(CidaasHelper.java:55)
                 	at de.cidaas.sdk.android.Cidaas.<init>(Cidaas.java:74)
                 	at de.cidaas.sdk.android.Cidaas.getInstance(Cidaas.java:65)
                 	at ch.srg.playnext.feature.authentication.di.AuthenticationModule.provideCidaas(AuthenticationModule.kt:27)
                 	at ch.srg.playnext.feature.authentication.di.AuthenticationModule_ProvideCidaasFactory.provideCidaas(AuthenticationModule_ProvideCidaasFactory.java:47)
                 	at ch.srg.playnext.app.mobile.DaggerPlayNextMobileApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.get(DaggerPlayNextMobileApplication_HiltComponents_SingletonC.java:1000)
                 	at dagger.internal.DoubleCheck.getSynchronized(DoubleCheck.java:54)
                 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:45)
                 	at ch.srg.playnext.app.mobile.DaggerPlayNextMobileApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.get(DaggerPlayNextMobileApplication_HiltComponents_SingletonC.java:997)
                 	at dagger.internal.DoubleCheck.getSynchronized(DoubleCheck.java:54)
                 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:45)
                 	at ch.srg.playnext.app.mobile.DaggerPlayNextMobileApplication_HiltComponents_SingletonC$SingletonCImpl.getAuthenticationState(DaggerPlayNextMobileApplication_HiltComponents_SingletonC.java:920)
                 	at ch.srg.playnext.app.mobile.DaggerPlayNextMobileApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.get(DaggerPlayNextMobileApplication_HiltComponents_SingletonC.java:988)
                 	at dagger.internal.DoubleCheck.getSynchronized(DoubleCheck.java:54)
                 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:45)
                 	at ch.srg.playnext.app.mobile.DaggerPlayNextMobileApplication_HiltComponents_SingletonC$SingletonCImpl$SwitchingProvider.get(DaggerPlayNextMobileApplication_HiltComponents_SingletonC.java:985)
                 	at dagger.internal.DoubleCheck.getSynchronized(DoubleCheck.java:54)
                 	at dagger.internal.DoubleCheck.get(DoubleCheck.java:45)
                 	at ch.srg.playnext.app.mobile.DaggerPlayNextMobileApplication_HiltComponents_SingletonC$ActivityCImpl.injectMainMobileActivity2(DaggerPlayNextMobileApplication_HiltComponents_SingletonC.java:528)
                 	at ch.srg.playnext.app.mobile.DaggerPlayNextMobileApplication_HiltComponents_SingletonC$ActivityCImpl.injectMainMobileActivity(DaggerPlayNextMobileApplication_HiltComponents_SingletonC.java:498)
                 	at ch.srg.playnext.app.mobile.Hilt_MainMobileActivity.inject(Hilt_MainMobileActivity.java:88)
                 	at ch.srg.playnext.app.mobile.Hilt_MainMobileActivity$1.onContextAvailable(Hilt_MainMobileActivity.java:42)
                 	at androidx.activity.contextaware.ContextAwareHelper.dispatchOnContextAvailable(ContextAwareHelper.kt:78)
                 	at androidx.activity.ComponentActivity.onCreate(ComponentActivity.kt:336)
                 	at ch.srg.playnext.app.mobile.Hilt_MainMobileActivity.onCreate(Hilt_MainMobileActivity.java:54)
                 	at ch.srg.playnext.app.mobile.MainMobileActivity.onCreate(MainMobileActivity.kt:72)
                 	at android.app.Activity.performCreate(Activity.java:6662)
                 	at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1118)
                 	at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2599)
                 	at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2707)
                 	at android.app.ActivityThread.-wrap12(ActivityThread.java)
17:18:36.352  E  	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1460) (Fix with AI)
                 	at android.os.Handler.dispatchMessage(Handler.java:102)
                 	at android.os.Looper.loop(Looper.java:154)
                 	at android.app.ActivityThread.main(ActivityThread.java:6077)
                 	at java.lang.reflect.Method.invoke(Native Method)
                 	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:866)
                 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:756)
                 Caused by: java.lang.ClassNotFoundException: Didn't find class "java.lang.BootstrapMethodError" on path: DexPathList[[zip file "/data/app/ch.srgssr.playsuisse.tv.debug-1/base.apk"],nativeLibraryDirectories=[/data/app/ch.srgssr.playsuisse.tv.debug-1/lib/arm64, /data/app/ch.srgssr.playsuisse.tv.debug-1/base.apk!/lib/arm64-v8a, /system/lib64, /vendor/lib64]]
                 	at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
                 	at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
                 	at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
                 	... 44 more

Our setup is:

    const val minSdk = 24
    const val compileSdk = 36
    const val targetSdk = 36

    val javaVersion = JavaVersion.VERSION_17
    val jvmTarget = JvmTarget.JVM_17

We added the Cidaas SDK like this (without the exclude statements, it does not build at all):

    implementation("com.github.Cidaas:cidaas-android-sdk:3.2.15") {
        exclude("com.android.support")
        exclude("androidx.test.core")
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions