Сбой aafdex-sdk unity3d при переходе между сценами - только на Android
Я разрабатывал приложение для распознавания эмоций, используя affdex-sdk (v2.2) от Affectiva для Unity 5.4. Мое приложение состоит из 3 сцен, а затем я использую affectiva Camera_Detector
сцену, и используйте эмоцию как триггер, чтобы перейти к следующей сцене.
Он отлично работает в UnityEditor и как скомпилированный пакет Windows (x86). Однако при развертывании его на Android (5.0) сбои происходят всегда во время выполнения при пропуске с Camera_Detector
сцена к следующей сцене (сцена загружается до Camera_Detector
И в Camera_Detector
сам никогда не врезался).
Я использую (в C#)
SceneManager.LoadScene("nextscene");
Устройство Android просто отображает "К сожалению, affdex_emotapp" остановлено.
Есть ли шанс заставить это работать под Android?
Вот вывод аварии из logcat:
F/libc (15037): Fatal signal 11 (SIGSEGV), code 1, fault addr 0x898f0308 in tid 15053 (UnityMain)
I/DEBUG ( 247): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
I/DEBUG ( 247): Build fingerprint: samsung/matissevewifixx/matissevewifi:5.1.1/LMY47X/T533XXU1BOI3:user/release-keys'
I/DEBUG ( 247): Revision: '2'
I/DEBUG ( 247): ABI: 'arm'
I/DEBUG ( 247): pid: 15037, tid: 15053, name: UnityMain >>> com.ibeb.emoface_cam <<<
I/DEBUG ( 247): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr x898f0308
I/DEBUG ( 247): r0 898f0308 r1 898f1000 r2 fffffe8c r3 898f1000
I/DEBUG ( 247): r4 898f0308 r5 00000001 r6 898f0ffc r7 b42c7000
I/DEBUG ( 247): r8 845d408c r9 b91d9718 sl 00000001 fp a2b4e1a4
I/DEBUG ( 247): ip a4110ee0 sp a2b4e178 lr a4031b34 pc a4031aa4 cpsr 80070010
I/DEBUG ( 247):
I/DEBUG ( 247): backtrace:
I/DEBUG ( 247): #00 pc 002b3aa4 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #01 pc 002b3b30 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so (GC_push_all_stack+72)
I/DEBUG ( 247): #02 pc 002bc7bc /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #03 pc 002bc88c /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #04 pc 002b85f8 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #05 pc 002b55ec /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #06 pc 002b1ee0 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #07 pc 002abfb4 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #08 pc 002aba98 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #09 pc 002ad144 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #10 pc 002b0b50 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #11 pc 002b1080 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #12 pc 002b12e8 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #13 pc 001f5a04 /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so
I/DEBUG ( 247): #14 pc 001f69fc /data/app/com.ibeb.emoface_cam-2/lib/arm/libmono.so (mono_array_new_specific+232)
I/DEBUG ( 247): #15 pc 0000280c <unknown>
1 ответ
Это связано с этой проблемой на портале для разработчиков:
"Когда вы переключаете сцены, вам нужно уничтожить и повторно вызвать Detector и CameraInput. Если вы не возродите эти компоненты, интерфейс камеры Unity получит замороженное изображение при перезагрузке, таким образом, вызывая постоянное получение метрик из изображения, полученного на сцене переход ". - http://developer.affectiva.com/v2_3/unity/analyze-camera/
Вы уничтожаете и возрождаете детектор и CameraInput.