Skip to content

NoClassDefFoundError for class added in newer API level #737

@mfrizki1

Description

@mfrizki1

Got error like this:

Exception java.lang.NoClassDefFoundError: Failed resolution of: Landroid/app/ComponentCaller;
    at java.lang.reflect.Executable.getParameterTypesInternal
    at java.lang.reflect.Method.getParameterTypes (Method.java:186)
    at org.greenrobot.eventbus.SubscriberMethodFinder.findUsingReflectionInSingleClass (SubscriberMethodFinder.java:173)
    at org.greenrobot.eventbus.SubscriberMethodFinder.findUsingInfo (SubscriberMethodFinder.java:88)
    at org.greenrobot.eventbus.SubscriberMethodFinder.findSubscriberMethods (SubscriberMethodFinder.java:64)
    at org.greenrobot.eventbus.EventBus.register (EventBus.java:150)

and my Proguard

# EventBus
-keepattributes *Annotation*
-keepclassmembers class * {
    @org.greenrobot.eventbus.Subscribe <methods>;
}
-keep enum org.greenrobot.eventbus.ThreadMode { *; }

# If using AsyncExecutord, keep required constructor of default event used.
# Adjust the class name if a custom failure event type is used.
-keepclassmembers class org.greenrobot.eventbus.util.ThrowableFailureEvent {
    <init>(java.lang.Throwable);
}

# Accessed via reflection, avoid renaming or removal
-keep class org.greenrobot.eventbus.android.AndroidComponentsImpl

and in my Activity

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        EventBus.getDefault().register(this)

TargetSdk 35, Kotlin 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions