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