Kimjio / umamusume-localify-android

Android port of umamusume-localify
MIT License
48 stars 13 forks source link

Failed to initialize on Android 9 emulator #18

Closed EtherealAO closed 1 year ago

EtherealAO commented 1 year ago

This problem occurs in both TwnGoogle and JAP. https://github.com/Kimjio/umamusume-localify-android/blob/main/module/src/main/cpp/hook.cpp#L192 here, NativeBridgeError() will always return 0 causes error info never be shown. If force print with LOGI("%d %s",NativeBridgeError(),NativeBridgeGetError()); it will be this: 0 dlopen failed: file offset for the library "/data/data/com.komoe.kmumamusumegp/arm64-v8a.so" >= file size: 0 >= 0

if move lib to somewhere like /data/local/tmp/ or /data/app/com.komoe.kmumamusumegp-Zf6fuMTo7Hh71wldlnooEw==/lib/arm64/, it will be: 0 no error! and works fine.

Testing environment: LDPlayer9 9.0.38, Nox 7.0.5.5029; Magisk from https://huskydg.github.io/magisk-files/intro 25206 with zygisk enabled; Latest umamusume apk from https://www.qoo-app.com/

Kimjio commented 1 year ago

Would you like to try it with version 2.16.0? I changed the service.sh to copy the arm library instead of binding it (mount --bind).

No problem when using with Magisk Delta on Bluestacks 5.11 Android 9.

EtherealAO commented 1 year ago

Works perfectly on Nox, but fails on the LDPlayer JPN client. Even though LDPlayer 9 has 64-bit support, it always installs the JPN client as a 32-bit application. The TWN client doesn't have this problem.

04-05 16:40:32.885  7175  7175 I UmamusumeLocalify: detect package: jp.co.cygames.umamusume
04-05 16:40:33.057  7175  7186 I UmamusumeLocalify: x86 hack thread: 7186
04-05 16:40:33.057  7175  7186 I UmamusumeLocalify: x86 api level: 28
04-05 16:40:33.092  7175  7186 I UmamusumeLocalify: NativeBridgeItf version: 4
04-05 16:40:33.092  7175  7186 I UmamusumeLocalify: NativeBridgeLoadLibraryExt at: 0xefbd4b70
04-05 16:40:33.364  7175  7242 I UmamusumeLocalify: /data/data/jp.co.cygames.umamusume/arm64-v8a.so: 0x0
04-05 16:40:33.364  7175  7242 I UmamusumeLocalify: 0 dlopen failed: ELF program header is invalid

And there is a problem with the app when clicking Dump MessagePack. I will open a new issue related to it.

EtherealAO commented 1 year ago

After force installing with arm64 using adb install -r --abi arm64-v8a, it works fine, so it's a device-related issue and doesn't need to be fixed.