Я пытаюсь построить минимальный пример AR для Android, используя Unity. Я просто добавил компонент ARSession
и ARSession Origin
по умолчанию вместе с простым кубом. При сборке для Android приложение запускается, запрашивает разрешение камеры, а затем вылетает с ошибкой
E AndroidRuntime: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x730071
E AndroidRuntime: r0 00650070 r1 00730069 r2 00000000 r3 ba086bed
E AndroidRuntime: r4 c5434b18 r5 c5585700 r6 c5434b18 r7 00000000
E AndroidRuntime: r8 ba800230 r9 80808080 r10 00000000 r11 00000000
E AndroidRuntime: ip ba809890 sp c770df00 lr ba7caca7 pc ba086bf6
E AndroidRuntime:
E AndroidRuntime: backtrace:
E AndroidRuntime: #00 pc 01144bf6 /data/app/com.google.ar.core-0FwyTEogZovhL9iDNFManA==/lib/arm/libarcore_c.so (ArConfig_setUpdateMode+10) (BuildId: b7db86ce26fc040cd3b3e52884b3958c)
E AndroidRuntime: #01 pc 00009ca3 /data/app/com.DefaultCompany.ARTest-0beAqntVrT4ykTPCNeastQ==/lib/arm/libarpresto_api.so (BuildId: 77fb2e26a7c07c77d26316725b88dd68)
E AndroidRuntime: #02 pc 00008921 /data/app/com.DefaultCompany.ARTest-0beAqntVrT4ykTPCNeastQ==/lib/arm/libarpresto_api.so (BuildId: 77fb2e26a7c07c77d26316725b88dd68)
E AndroidRuntime: #03 pc 000086d3 /data/app/com.DefaultCompany.ARTest-0beAqntVrT4ykTPCNeastQ==/lib/arm/libarpresto_api.so (BuildId: 77fb2e26a7c07c77d26316725b88dd68)
E AndroidRuntime: #04 pc 00007601 /data/app/com.DefaultCompany.ARTest-0beAqntVrT4ykTPCNeastQ==/lib/arm/libarpresto_api.so (ArPresto_update+20) (BuildId: 77fb2e26a7c07c77d26316725b88dd68)
E AndroidRuntime: #05 pc 000235e4 /data/app/com.DefaultCompany.ARTest-0beAqntVrT4ykTPCNeastQ==/lib/arm/libUnityARCore.so (UnityARCore_session_update+352) (BuildId: 0df5e245f68665ac5a8a3e95b27441e98581e0ba)
E AndroidRuntime: #06 pc 0000d32a <anonymous:e32f3000>
E AndroidRuntime:
E AndroidRuntime: managed backtrace:
E AndroidRuntime: #00 (wrapper managed-to-native) UnityEngine.XR.ARCore.ARCoreSessionSubsystem/NativeApi:UnityARCore_session_update (UnityEngine.ScreenOrientation,UnityEngine.Vector2Int)
E AndroidRuntime: #01 UnityEngine.XR.ARCore.ARCoreSessionSubsystem/Provider:Update (UnityEngine.XR.ARSubsystems.XRSessionUpdateParams) <localpathARTest/Library/PackageCache/com.unity.xr.arcore@2.1.2/Runtime/ARCoreSessionSubsystem.cs:52>
E AndroidRuntime: #02 UnityEngine.XR.ARSubsystems.XRSessionSubsystem:Update (UnityEngine.XR.ARSubsystems.XRSessionUpdateParams) <localpathARTest/Library/PackageCache/com.unity.xr.arsubsystems@2.1.1/Runtime/SessionSubsystem/XRSessionSubsystem.cs:131>
E AndroidRuntime: #03 UnityEngine.XR.ARFoundation.ARSession:Update () <localpathARTest/Library/PackageCache/com.unity.xr.arfoundation@2.1.4/Runtime/AR/ARSession.cs:349>
E AndroidRuntime: #04 (wrapper runtime-invoke) object:runtime_invoke_void__this__ (object,intptr,intptr,intptr)
E AndroidRuntime:
E AndroidRuntime: at libarcore_c.ArConfig_setUpdateMode(ArConfig_setUpdateMode:10)
E AndroidRuntime: at libarpresto_api.0x9ca3(Native Method)
E AndroidRuntime: at libarpresto_api.0x8921(Native Method)
E AndroidRuntime: at libarpresto_api.0x86d3(Native Method)
E AndroidRuntime: at libarpresto_api.ArPresto_update(ArPresto_update:20)
E AndroidRuntime: at libUnityARCore.UnityARCore_session_update(UnityARCore_session_update:352)
E AndroidRuntime: at UnityEngine.XR.ARCore.ARCoreSessionSubsystem.NativeApi.UnityARCore_session_update (UnityEngine.ScreenOrientation,UnityEngine.Vector2Int)(Native Method)
E AndroidRuntime: at UnityEngine.XR.ARCore.ARCoreSessionSubsystem.Provider.Update (UnityEngine.XR.ARSubsystems.XRSessionUpdateParams)(localpathARTest/Library/PackageCache/com.unity.xr.arcore@2.1.2/Runtime/ARCoreSessionSubsystem.cs:52)
E AndroidRuntime: at UnityEngine.XR.ARSubsystems.XRSessionSubsystem.Update (UnityEngine.XR.ARSubsystems.XRSessionUpdateParams)(localpathARTest/Library/PackageCache/com.unity.xr.arsubsystems@2.1.1/Runtime/SessionSubsystem/XRSessionSubsystem.cs:131)
E AndroidRuntime: at UnityEngine.XR.ARFoundation.ARSession.Update ()(localpathARTest/Library/PackageCache/com.unity.xr.arfoundation@2.1.4/Runtime/AR/ARSession.cs:349)
E AndroidRuntime: at System.Object.runtime_invoke_void__this__ (object,intptr,intptr,intptr)(Native Method)
Это происходит как для моно, так и для сборок IL2 CPP. Я пользуюсь смартфоном Huawei, поэтому мне пришлось установить службы Google AR с помощью apk, поскольку он заблокирован в магазине воспроизведения.
Кто-нибудь еще сталкивался с этой проблемой?