У меня есть приложение для Android, использующее OpenCV4Android (3.0.0).
Он хорошо работает на большинстве устройств, однако на Samsung Galaxy Tab P7100 он умирает при запуске с Fatal signal 4 (SIGILL)
.
Ошибка определенно исходит из части OpenCV, поскольку она не возникает, когда я не загружаю библиотеку (через OpenCVLoader.initDebug()
).
После долгих гуглений обнаружил, что устройство не поддерживает инструкции NEON и думаю, что это и есть причина ошибки.
Поскольку я не хочу требовать от пользователей установки диспетчера OpenCV, я добавил OpenCV4android в качестве зависимости, чтобы файл libopencv_java3.so
копировался в apk и связывался. Однако он просто копирует файл из libs/armeabi-v7a
в apk, созданный с поддержкой NEON.
Как я могу убедиться, что устройства без поддержки NEON используют версию armeabi или версию armeabi-v7a без инструкций NEON?
Есть ли у вас какие-либо другие предложения, как я могу запустить приложение на этом устройстве?
Я новичок в нативных библиотеках на Android, поэтому я могу многое упустить, и любая помощь приветствуется.