Skip to content

Commit 2bb9988

Browse files
authored
fix libPapiQuickjs.so import settings for Android (#2361)
The Android plugin import settings for libPapiQuickjs.so are wrong in two of the three ABIs, and the result is that the QuickJS backend cannot be loaded on a real device: - arm64-v8a has no Android platform entry at all, so the library is not packaged into the APK. This is the ABI essentially every current Android device runs. - armeabi-v7a declares CPU: ARM64. Two of the three ABIs therefore claim arm64 and none claims ARMv7. The build succeeds either way, and the app then fails at the first script with: DllNotFoundException: Unable to load DLL 'PapiQuickjs' dlerror() = dlopen failed: library "PapiQuickjs" not found at Puerts.ScriptEnv..ctor libPuertsCore.so.meta in unity/upms/core is correct for all three ABIs, so this makes the quickjs ones match it: arm64-v8a -> ARM64, armeabi-v7a -> ARMv7, x86_64 -> X86_64 (already correct). After this change the three libPapiQuickjs.so.meta files are identical to the corresponding libPuertsCore.so.meta files apart from the guid. Nothing in the editor catches this, because no editor test loads the Android native libraries.
1 parent 914cd80 commit 2bb9988

2 files changed

Lines changed: 47 additions & 2 deletions

File tree

‎unity/upms/quickjs/Plugins/Android/libs/arm64-v8a/libPapiQuickjs.so.meta‎

Lines changed: 46 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎unity/upms/quickjs/Plugins/Android/libs/armeabi-v7a/libPapiQuickjs.so.meta‎

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)