没有 NEON 支持的 OpenCV4android armeabiv7 死于致命信号 4 (SIGILL)
OpenCV4android armeabiv7 without NEON support dies with Fatal signal 4 (SIGILL)
我有一个使用 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 的设备使用没有 NEON 指令的 armeabi 版本或 armeabi-v7a 版本?
对于如何在此设备上获取应用 运行,您有任何其他建议吗?
我对 Android 上的原生库还很陌生,所以我可能遗漏了很多东西,我们将不胜感激。
不是真正的答案,但我能想到的最好的答案是:
我现在用的是opencv4android 2.4.11版本。在此版本中,它适用于我目前测试过的所有设备。
我有一个使用 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 的设备使用没有 NEON 指令的 armeabi 版本或 armeabi-v7a 版本?
对于如何在此设备上获取应用 运行,您有任何其他建议吗?
我对 Android 上的原生库还很陌生,所以我可能遗漏了很多东西,我们将不胜感激。
不是真正的答案,但我能想到的最好的答案是:
我现在用的是opencv4android 2.4.11版本。在此版本中,它适用于我目前测试过的所有设备。