Проблема с сбоем FNF Mod для Android

#android #crash

Вопрос:

Итак, я и мой друг уже довольно давно работаем над нашим собственным модом FNF, и мы решили создать его для Android.Нам удалось создать приложение и запустить его на Android со всеми работающими функциями (даже импортируя сенсорные элементы управления), но единственная проблема сейчас в том, что всякий раз, когда мы пытаемся загрузить какую-либо песню, игра отказывается загружаться и вылетает.

это то, что игра показывает в консоли при загрузке «bopeebo» из freeplay

 11/11 22:06:31: Launching 'app' on Razer Phone.
App restart successful without requiring a re-install.
$ adb shell am start -n "com.koharu.xenonsus/com.koharu.xenonsus.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.koharu.xenonsus | com.koharu.xenonsus.test
Waiting for application to come online: com.koharu.xenonsus | com.koharu.xenonsus.test
Connected to process 19751 on device 'razer-phone-181749V00410570'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
W/ActivityThread: Application com.koharu.xenonsus is waiting for the debugger on port 8100...
I/System.out: Sending WAIT chunk
Connecting to com.koharu.xenonsus
Connected to the target VM, address: 'localhost:49475', transport: 'socket'
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/koharu.xenonsu: Late-enabling -Xcheck:jni
W/ActivityThread: Application com.koharu.xenonsus is waiting for the debugger on port 8100...
I/System.out: Sending WAIT chunk
I/System.out: Debugger has connected
    waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: debugger has settled (1329)
I/Perf: Connecting to perf service.
V/SDL: Device: cheryl_ckh
    Model: Phone
    onCreate()
W/SDL: Request to get environment variables before JNI is ready
V/SDL: nativeSetupJNI()
V/SDL: AUDIO nativeSetupJNI()
    CONTROLLER nativeSetupJNI()
D/OpenGLRenderer: Skia GL Pipeline
V/SDL: onStart()
V/SDL: onResume()
I/Adreno: QUALCOMM build                   : cf6f28e, I1fbdd7a9d4
    Build Date                       : 02/28/19
    OpenGL ES Shader Compiler Version: EV031.25.03.02
    Local Branch                     : mybranche93b5c3a-ead7-f1e6-b2ac-5cb90179c3e0
    Remote Branch                    : quic/gfx-adreno.lnx.1.0.r49-rel
    Remote Branch                    : NONE
    Reconstruct Branch               : NOTHING
    Build Config                     : S L 6.0.7 AArch64
I/Adreno: PFP: 0x005ff112, ME: 0x005ff066
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
    android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Swap behavior 2
V/SDL: surfaceCreated()
V/SDL: surfaceChanged()
    pixel format RGB_565
    Window size: 2416x1368
V/SDL: Device size: 2560x1440
V/SDL: Running main function hxcpp_main from library libApplicationMain.so
    nativeRunMain()
I/haxe plugin: Got Load Proc 0x73e8fb2e90
D/openal: AL lib: alc_initconfig: Initializing library v1.19.0-96aacac master
    AL lib: alc_initconfig: Supported backends: opensl, sdl2, null, wave
    AL lib: ReadALConfig: Loading config /etc/openal/alsoft.conf...
    AL lib: ReadALConfig: Loading config /etc/xdg/alsoft.conf...
    AL lib: GetProcBinary: Got path: /system/bin
    AL lib: ReadALConfig: Loading config /system/bin/alsoft.conf...
    AL lib: GetConfigValue: Key disable-cpu-exts not found
    AL lib: FillCPUCaps: Extensions: -none-
    AL lib: GetConfigValue: Key rt-prio not found
D/openal: AL lib: GetConfigValue: Key resampler not found
    AL lib: GetConfigValue: Key trap-al-error not found
    AL lib: GetConfigValue: Key trap-alc-error not found
    AL lib: GetConfigValue: Key reverb/boost not found
    AL lib: GetConfigValue: Key drivers not found
    AL lib: alc_initconfig: Initialized backend "opensl"
    AL lib: alc_initconfig: Added "opensl" for playback
    AL lib: alc_initconfig: Added "opensl" for capture
    AL lib: GetConfigValue: Key excludefx not found
    AL lib: GetConfigValue: Key default-reverb not found
    AL lib: GetConfigValue: Key channels not found
    AL lib: GetConfigValue: Key sample-type not found
    AL lib: GetConfigValue: Key frequency not found
    AL lib: GetConfigValue: Key periods not found
    AL lib: GetConfigValue: Key period_size not found
    AL lib: GetConfigValue: Key sources not found
    AL lib: GetConfigValue: Key slots not found
    AL lib: GetConfigValue: Key sends not found
D/openal: AL lib: GetConfigValue: Key ambi-format not found
    AL lib: alcOpenDevice: Created device 0x73e76f2e10, "OpenSL"
    AL lib: GetConfigValue: Key hrtf not found
    AL lib: UpdateDeviceParams: Pre-reset: Stereo, Float, 44100hz, 1024 update size x3
D/: PlayerBase::PlayerBase()
    TrackPlayerBase::TrackPlayerBase()
I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
V/SDL: onWindowFocusChanged(): true
W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by server; frameCount 0 -> 1772
D/openal: AL lib: UpdateDeviceParams: Post-reset: Stereo, Signed Short, 44100hz, 1024 update size x3
D/openal: AL lib: GetConfigValue: Key stereo-mode not found
    AL lib: aluInitRenderer: HRTF disabled
    AL lib: GetConfigValue: Key cf_level not found
    AL lib: aluInitRenderer: BS2B disabled
    AL lib: GetConfigValue: Key stereo-encoding not found
    AL lib: aluInitRenderer: UHJ disabled
    AL lib: UpdateDeviceParams: Channel config, Dry: 2, FOA: 0, Real: 0
    AL lib: UpdateDeviceParams: Allocating 2 channels, 16384 bytes
    AL lib: UpdateDeviceParams: Max sources: 256 (255   1), effect slots: 64, sends: 2
    AL lib: GetConfigValue: Key dither not found
    AL lib: GetConfigValue: Key dither-depth not found
    AL lib: UpdateDeviceParams: Dithering enabled (16-bit, 32768)
    AL lib: GetConfigValue: Key output-limiter not found
    AL lib: UpdateDeviceParams: Output limiter enabled
D/openal: AL lib: GetConfigValue: Key volume-adjust not found
    AL lib: alcCreateContext: Created context 0x73fd9d7110
W/libOpenSLES: class OutputMix interface 0 requested but unavailable MPH=43
E/libEGL: validate_display:92 error 3008 (EGL_BAD_DISPLAY)
V/SDL: setOrientation() requestedOrientation=6 width=2560 height=1440 resizable=false hint=LandscapeLeft LandscapeRight
V/SDL: surfaceDestroyed()
    nativePause()
V/SDL: surfaceCreated()
V/SDL: surfaceChanged()
    pixel format RGBA_8888
V/SDL: Window size: 2416x1368
V/SDL: Device size: 2560x1440
V/SDL: nativeResume()
V/SDL: surfaceChanged()
    pixel format RGBA_8888
V/SDL: Window size: 2560x1440
    Device size: 2560x1440
V/SDL: surfaceChanged()
    pixel format RGBA_8888
V/SDL: Window size: 2416x1368
    Device size: 2560x1440
D/: PlayerBase::stop() from IPlayer
D/AudioTrack: stop() called with 51920 frames delivered
V/SDL: surfaceChanged()
    pixel format RGBA_8888
V/SDL: Window size: 2560x1440
    Device size: 2560x1440
I/trace: source/TitleState.hx:80: Loaded 1 assets (DEFAULT)
W/koharu.xenonsu: Accessing hidden field Ljava/io/FileDescriptor;->descriptor:I (light greylist, JNI)
I/trace: source/TitleState.hx:517: okay cool
I/trace: source/MusicBeatState.hx:70: reg (x: -200 | y: -200 | w: 1792 | h: 1008)
I/trace: source/MainMenuState.hx:260: Freeplay Menu Selected
I/trace: source/MusicBeatState.hx:70: reg (x: -200 | y: -200 | w: 1792 | h: 1008)
I/trace: source/FreeplayState.hx:214: bopeebo
I/trace: source/FreeplayState.hx:220: CUR WEEK1
I/trace: source/PlayState.hx:320: Mod chart: false - assets/data/bopeebo/modchart.lua
    source/Conductor.hx:68: new BPM map BUDDY []
    source/PlayState.hx:397: INFORMATION ABOUT WHAT U PLAYIN WIT:
    FRAMES: 10
    ZONE: 166
    TS: 1
    BotPlay : false
I/trace: source/Character.hx:486: 496
A/libc: Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x278 in tid 19822 (SDLThread), pid 19751 (SDLActivity)
Disconnected from the target VM, address: 'localhost:49475', transport: 'socket'
 

Это то, что показывает консоль при принудительной загрузке игры в ChartingState из MainMenuState:

 11/11 22:32:07: Launching 'app' on Razer Phone.
App restart successful without requiring a re-install.
$ adb shell am start -n "com.koharu.xenonsus/com.koharu.xenonsus.MainActivity" -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -D
Waiting for application to come online: com.koharu.xenonsus | com.koharu.xenonsus.test
Waiting for application to come online: com.koharu.xenonsus | com.koharu.xenonsus.test
Connected to process 22373 on device 'razer-phone-181749V00410570'.
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/koharu.xenonsu: Late-enabling -Xcheck:jni
W/ActivityThread: Application com.koharu.xenonsus is waiting for the debugger on port 8100...
I/System.out: Sending WAIT chunk
Connecting to com.koharu.xenonsus
Connected to the target VM, address: 'localhost:56709', transport: 'socket'
Capturing and displaying logcat messages from application. This behavior can be disabled in the "Logcat output" section of the "Debugger" settings page.
I/koharu.xenonsu: Late-enabling -Xcheck:jni
W/ActivityThread: Application com.koharu.xenonsus is waiting for the debugger on port 8100...
I/System.out: Sending WAIT chunk
I/System.out: Debugger has connected
    waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/chatty: uid=10251(com.koharu.xenonsus) identical 1 line
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: waiting for debugger to settle...
I/System.out: debugger has settled (1389)
I/Perf: Connecting to perf service.
V/SDL: Device: cheryl_ckh
    Model: Phone
    onCreate()
W/SDL: Request to get environment variables before JNI is ready
V/SDL: nativeSetupJNI()
V/SDL: AUDIO nativeSetupJNI()
V/SDL: CONTROLLER nativeSetupJNI()
D/OpenGLRenderer: Skia GL Pipeline
V/SDL: onStart()
V/SDL: onResume()
I/Adreno: QUALCOMM build                   : cf6f28e, I1fbdd7a9d4
    Build Date                       : 02/28/19
    OpenGL ES Shader Compiler Version: EV031.25.03.02
    Local Branch                     : mybranche93b5c3a-ead7-f1e6-b2ac-5cb90179c3e0
    Remote Branch                    : quic/gfx-adreno.lnx.1.0.r49-rel
    Remote Branch                    : NONE
    Reconstruct Branch               : NOTHING
    Build Config                     : S L 6.0.7 AArch64
I/Adreno: PFP: 0x005ff112, ME: 0x005ff066
I/ConfigStore: android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasWideColorDisplay retrieved: 1
    android::hardware::configstore::V1_0::ISurfaceFlingerConfigs::hasHDRDisplay retrieved: 1
I/OpenGLRenderer: Initialized EGL, version 1.4
D/OpenGLRenderer: Swap behavior 2
V/SDL: surfaceCreated()
    surfaceChanged()
    pixel format RGB_565
V/SDL: Window size: 2416x1368
V/SDL: Device size: 2560x1440
V/SDL: Running main function hxcpp_main from library libApplicationMain.so
V/SDL: nativeRunMain()
I/haxe plugin: Got Load Proc 0x73e90c6e90
D/openal: AL lib: alc_initconfig: Initializing library v1.19.0-96aacac master
    AL lib: alc_initconfig: Supported backends: opensl, sdl2, null, wave
    AL lib: ReadALConfig: Loading config /etc/openal/alsoft.conf...
    AL lib: ReadALConfig: Loading config /etc/xdg/alsoft.conf...
    AL lib: GetProcBinary: Got path: /system/bin
    AL lib: ReadALConfig: Loading config /system/bin/alsoft.conf...
    AL lib: GetConfigValue: Key disable-cpu-exts not found
    AL lib: FillCPUCaps: Extensions: -none-
    AL lib: GetConfigValue: Key rt-prio not found
    AL lib: GetConfigValue: Key resampler not found
    AL lib: GetConfigValue: Key trap-al-error not found
    AL lib: GetConfigValue: Key trap-alc-error not found
    AL lib: GetConfigValue: Key reverb/boost not found
    AL lib: GetConfigValue: Key drivers not found
    AL lib: alc_initconfig: Initialized backend "opensl"
    AL lib: alc_initconfig: Added "opensl" for playback
    AL lib: alc_initconfig: Added "opensl" for capture
    AL lib: GetConfigValue: Key excludefx not found
    AL lib: GetConfigValue: Key default-reverb not found
    AL lib: GetConfigValue: Key channels not found
    AL lib: GetConfigValue: Key sample-type not found
    AL lib: GetConfigValue: Key frequency not found
    AL lib: GetConfigValue: Key periods not found
    AL lib: GetConfigValue: Key period_size not found
    AL lib: GetConfigValue: Key sources not found
    AL lib: GetConfigValue: Key slots not found
    AL lib: GetConfigValue: Key sends not found
D/openal: AL lib: GetConfigValue: Key ambi-format not found
    AL lib: alcOpenDevice: Created device 0x73e7ff5350, "OpenSL"
    AL lib: GetConfigValue: Key hrtf not found
    AL lib: UpdateDeviceParams: Pre-reset: Stereo, Float, 44100hz, 1024 update size x3
D/: PlayerBase::PlayerBase()
D/: TrackPlayerBase::TrackPlayerBase()
I/libOpenSLES: Emulating old channel mask behavior (ignoring positional mask 0x3, using default mask 0x3 based on channel count of 2)
W/AudioTrack: AUDIO_OUTPUT_FLAG_FAST denied by server; frameCount 0 -> 1772
D/openal: AL lib: UpdateDeviceParams: Post-reset: Stereo, Signed Short, 44100hz, 1024 update size x3
    AL lib: GetConfigValue: Key stereo-mode not found
    AL lib: aluInitRenderer: HRTF disabled
    AL lib: GetConfigValue: Key cf_level not found
    AL lib: aluInitRenderer: BS2B disabled
    AL lib: GetConfigValue: Key stereo-encoding not found
    AL lib: aluInitRenderer: UHJ disabled
    AL lib: UpdateDeviceParams: Channel config, Dry: 2, FOA: 0, Real: 0
    AL lib: UpdateDeviceParams: Allocating 2 channels, 16384 bytes
    AL lib: UpdateDeviceParams: Max sources: 256 (255   1), effect slots: 64, sends: 2
    AL lib: GetConfigValue: Key dither not found
    AL lib: GetConfigValue: Key dither-depth not found
    AL lib: UpdateDeviceParams: Dithering enabled (16-bit, 32768)
    AL lib: GetConfigValue: Key output-limiter not found
    AL lib: UpdateDeviceParams: Output limiter enabled
D/openal: AL lib: GetConfigValue: Key volume-adjust not found
    AL lib: alcCreateContext: Created context 0x73ff690c90
W/libOpenSLES: class OutputMix interface 0 requested but unavailable MPH=43
V/SDL: onWindowFocusChanged(): true
E/libEGL: validate_display:92 error 3008 (EGL_BAD_DISPLAY)
V/SDL: setOrientation() requestedOrientation=6 width=2560 height=1440 resizable=false hint=LandscapeLeft LandscapeRight
V/SDL: surfaceDestroyed()
    nativePause()
V/SDL: surfaceCreated()
V/SDL: surfaceChanged()
    pixel format RGBA_8888
V/SDL: Window size: 2416x1368
V/SDL: Device size: 2560x1440
V/SDL: nativeResume()
V/SDL: surfaceChanged()
V/SDL: pixel format RGBA_8888
    Window size: 2560x1440
V/SDL: Device size: 2560x1440
D/: PlayerBase::stop() from IPlayer
D/AudioTrack: stop() called with 179936 frames delivered
I/OpenGLRenderer: Davey! duration=2434ms; Flags=1, IntendedVsync=38959280615150, Vsync=38959288948483, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=38959294404876, AnimationStart=38959294802636, PerformTraversalsStart=38959303028522, DrawStart=38961697289667, SyncQueued=38961707228365, SyncStart=38961707386854, IssueDrawCommandsStart=38961707641646, SwapBuffers=38961711013469, FrameCompleted=38961715018677, DequeueBufferDuration=1459000, QueueBufferDuration=2430000, 
I/Choreographer: Skipped 304 frames!  The application may be doing too much work on its main thread.
I/OpenGLRenderer: Davey! duration=2545ms; Flags=0, IntendedVsync=38959305617814, Vsync=38961838951046, OldestInputEvent=9223372036854775807, NewestInputEvent=0, HandleInputStart=38961840307531, AnimationStart=38961840614927, PerformTraversalsStart=38961842368937, DrawStart=38961845362687, SyncQueued=38961846879719, SyncStart=38961847115552, IssueDrawCommandsStart=38961847242896, SwapBuffers=38961850227896, FrameCompleted=38961851296698, DequeueBufferDuration=1507000, QueueBufferDuration=501000, 
I/trace: source/TitleState.hx:80: Loaded 1 assets (DEFAULT)
W/koharu.xenonsu: Accessing hidden field Ljava/io/FileDescriptor;->descriptor:I (light greylist, JNI)
I/trace: source/MusicBeatState.hx:70: reg (x: -200 | y: -200 | w: 1792 | h: 1008)
I/trace: source/Character.hx:486: 496
I/trace: source/Conductor.hx:68: new BPM map BUDDY []
I/trace: source/MusicBeatState.hx:70: reg (x: -200 | y: -200 | w: 1792 | h: 1008)
I/trace: [lime.utils.Assets] ERROR: There is no TEXT asset with an ID of "assets/data/test/test.json"
E/Exception: [lime.utils.Assets] ERROR: There is no TEXT asset with an ID of "assets/data/test/test.json"
V/SDL: Finished main function
V/SDL: onPause()
V/SDL: onWindowFocusChanged(): false
    nativeFocusChanged()
V/SDL: surfaceDestroyed()
V/SDL: onStop()
V/SDL: onDestroy()
E/SDL: SDLActivity thread ends (error=Try to release egl_surface with context probably still active)
I/Choreographer: Skipped 170 frames!  The application may be doing too much work on its main thread.
 

we have tried many times to get it to load but we cant seem to find any information online as to why the game is crashing like this

the game runs fine when compiled for windows but only crashes when loading a song on android

every other function of the game such as the chart menu work, though the chart menu will cause the game to crash upon trying to place a note anywhere much like when attemping to load a song
even the offset editor is able to load so the game is able to load characters correctly

i will be happy to send any code, screenshots, files or console output to help anybody in assisting me and any help is greatly appreciated