Android 9 crashes when opened, FileObserver compatibility issue
==================== CRASH REPORT ====================
Time: 2026-06-07 11:32:10
Thread: main
App Information:
Package: com.nullij.androidcodestudio
Version: 1.0.0-alpha.4.20260513-arm64-v8a (2004)
Device Information:
Manufacturer: vivo
Model: V1945A
Android Version: 9 (API 28)
Brand: vivo
Exception:
java.lang.NoSuchMethodError: No direct method (Ljava/io/File;I)V in class Landroid/os/FileObserver; or its super classes (declaration of 'android.os.FileObserver' appears in /system/framework/framework.jar!classes2.dex)
Stack Trace:
java.lang.NoSuchMethodError: No direct method (Ljava/io/File;I)V in class Landroid/os/FileObserver; or its super classes (declaration of 'android.os.FileObserver' appears in /system/framework/framework.jar!classes2.dex)
at com.nullij.androidcodestudio.compose.screen.editor.OpenFilesState$vvvBR0qVlnm$vdOlvbvi$1.(OpenFileState.kt:196)
at com.nullij.androidcodestudio.compose.screen.editor.OpenFilesState.vvvBR0qVlnm(OpenFileState.kt:196)
at com.nullij.androidcodestudio.compose.screen.editor.OpenFilesState.openFile(OpenFileState.kt:332)
at com.nullij.androidcodestudio.compose.screen.editor.EditorInitializationManager$openFileAsync$MIQRyMBYMmriN$1.invokeSuspend(EditorInitializationManager.kt:106)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@2d6511c, androidx.compose.runtime.BroadcastFrameClock@99f4125, StandaloneCoroutine{Cancelling}@64632fa, AndroidUiDispatcher@6c810ab]
=====================================================
Android 9 crashes when opened, FileObserver compatibility issue
==================== CRASH REPORT ====================
Time: 2026-06-07 11:32:10
Thread: main
App Information:
Package: com.nullij.androidcodestudio
Version: 1.0.0-alpha.4.20260513-arm64-v8a (2004)
Device Information:
Manufacturer: vivo
Model: V1945A
Android Version: 9 (API 28)
Brand: vivo
Exception:
java.lang.NoSuchMethodError: No direct method (Ljava/io/File;I)V in class Landroid/os/FileObserver; or its super classes (declaration of 'android.os.FileObserver' appears in /system/framework/framework.jar!classes2.dex)
Stack Trace:
java.lang.NoSuchMethodError: No direct method (Ljava/io/File;I)V in class Landroid/os/FileObserver; or its super classes (declaration of 'android.os.FileObserver' appears in /system/framework/framework.jar!classes2.dex)
at com.nullij.androidcodestudio.compose.screen.editor.OpenFilesState$vvvBR0qVlnm$vdOlvbvi$1.(OpenFileState.kt:196)
at com.nullij.androidcodestudio.compose.screen.editor.OpenFilesState.vvvBR0qVlnm(OpenFileState.kt:196)
at com.nullij.androidcodestudio.compose.screen.editor.OpenFilesState.openFile(OpenFileState.kt:332)
at com.nullij.androidcodestudio.compose.screen.editor.EditorInitializationManager$openFileAsync$MIQRyMBYMmriN$1.invokeSuspend(EditorInitializationManager.kt:106)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:34)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:100)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:124)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:586)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:820)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:717)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:704)
Suppressed: kotlinx.coroutines.internal.DiagnosticCoroutineContextException: [androidx.compose.ui.platform.MotionDurationScaleImpl@2d6511c, androidx.compose.runtime.BroadcastFrameClock@99f4125, StandaloneCoroutine{Cancelling}@64632fa, AndroidUiDispatcher@6c810ab]
=====================================================