Skip to content

App crashes on POCO X5 Pro (HyperOS 2.0) with NoClassDefFoundError: android.app.ComponentCaller #16085

Description

@adikawicaksana

⚠️ Before posting ⚠️

  • This is a bug, not a question or an enhancement.
  • I've searched for similar issues and didn't find a duplicate.
  • I've written a clear and descriptive title for this issue, not just "Bug" or "Crash".
  • I agree to follow Nextcloud's Code of Conduct.

Steps to reproduce

  1. Install Nextcloud (version 30350051 – generic gplay).
  2. Open the app on POCO X5 Pro with HyperOS 2.0.10.0.
  3. App crashes immediately when starting FileDisplayActivity.

Expected behaviour

The app crashes at launch with a NoClassDefFoundError / ClassNotFoundException for android.app.ComponentCaller
This only happens on POCO device with HyperOS 2.0 ROM. Samsung, etc devices work normally.

Actual behaviour

The app should start normally without crashing. EventBus should not trigger missing Android internal classes.
ID: com.nextcloud.client Version: 30350051 Build flavor: generic

Android version

14 (SDK 34)

Device brand and model

Brand: POCO Model: POCO X5 Pro (redwood) Device: redwood Product: redwood_id

Stock or custom OS?

Stock

Nextcloud android app version

ID: com.nextcloud.client Version: 30350051 Build flavor: gplay

Nextcloud server version

Nextcloud Hub 25 Autumn (32.0.2)

Using a reverse proxy?

No

Android logs

Cause of error

Exception in thread "main" java.lang.NoClassDefFoundError: Failed resolution of: Landroid/app/ComponentCaller;
    at java.lang.reflect.Executable.getParameterTypesInternal(Native Method)
    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)
    at com.owncloud.android.ui.activity.DrawerActivity.onStart(DrawerActivity.java:1310)
    at com.owncloud.android.ui.activity.FileActivity.onStart(FileActivity.java:280)
    at com.owncloud.android.ui.activity.FileDisplayActivity.onStart(FileDisplayActivity.kt:2794)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1597)
    at android.app.Activity.performStart(Activity.java:8942)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4036)
    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:235)
    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:215)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:187)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:101)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2604)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:222)
    at android.os.Looper.loop(Looper.java:314)
    at android.app.ActivityThread.main(ActivityThread.java:8857)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:565)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)
Caused by: Exception in thread "main" java.lang.ClassNotFoundException: android.app.ComponentCaller
    at java.lang.reflect.Executable.getParameterTypesInternal(Native Method)
    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)
    at com.owncloud.android.ui.activity.DrawerActivity.onStart(DrawerActivity.java:1310)
    at com.owncloud.android.ui.activity.FileActivity.onStart(FileActivity.java:280)
    at com.owncloud.android.ui.activity.FileDisplayActivity.onStart(FileDisplayActivity.kt:2794)
    at android.app.Instrumentation.callActivityOnStart(Instrumentation.java:1597)
    at android.app.Activity.performStart(Activity.java:8942)
    at android.app.ActivityThread.handleStartActivity(ActivityThread.java:4036)
    at android.app.servertransaction.TransactionExecutor.performLifecycleSequence(TransactionExecutor.java:235)
    at android.app.servertransaction.TransactionExecutor.cycleToPath(TransactionExecutor.java:215)
    at android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:187)
    at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:101)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2604)
    at android.os.Handler.dispatchMessage(Handler.java:106)
    at android.os.Looper.loopOnce(Looper.java:222)
    at android.os.Looper.loop(Looper.java:314)
    at android.app.ActivityThread.main(ActivityThread.java:8857)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:565)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)

App information

  • ID: com.nextcloud.client
  • Version: 30350051
  • Build flavor: gplay

Device information

  • Brand: POCO
  • Device: redwood
  • Model: 22101320G
  • Id: UKQ1.240624.001
  • Product: redwood_id

Firmware

  • SDK: 34
  • Release: 14
  • Incremental: OS2.0.10.0.UMSIDXM

Server error logs

Additional information

This seems to be a HyperOS framework bug. The class android.app.ComponentCaller does not exist on POCO X5 Pro with HyperOS 2.0.10.0, even though it exists in AOSP Android 14. When EventBus scans Activity methods using reflection, the framework throws ClassNotFoundException.

Other devices (Samsung) do NOT have this issue.
Please check compatibility with Android 14 on Xiaomi/HyperOS devices or avoid reflection on hidden system APIs.

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions