我有一个使用OpenCV4Android(3.0.0)的Android应用程序。
它在大多数设备上运行良好,但在三星Galaxy Tab P7100上它在启动时会因Fatal signal 4 (SIGILL)
而死。
错误肯定来自OpenCV部分,因为当我不加载库时(通过OpenCVLoader.initDebug()
)它不会发生。
经过大量的googeling后,我发现该设备不支持NEON指令,并认为这是导致错误的原因。
由于我不想要求用户安装OpenCV管理器,因此我将OpenCV4android添加为依赖项,以便将libopencv_java3.so
文件复制到apk中并进行链接。但是,它只是将文件从libs/armeabi-v7a
复制到使用NEON支持构建的apk。
如何确保没有NEON支持的设备使用armeabi版本或没有NEON指令的armeabi-v7a版本?
对于如何在此设备上运行应用程序,您有任何其他建议吗?
我对Android上的原生图书馆很陌生,所以我可能会错过很多,感谢任何帮助。
答案 0 :(得分:1)
不是真正的答案,但我能想到的最好的答案:
我现在使用opencv4android版本2.4.11。在这个版本中,它适用于我目前测试的所有设备。