OpenCV4android armeabiv7 без поддержки NEON умирает с Fatal signal 4 (SIGILL)

У меня есть приложение для 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, поэтому я могу многое упустить, и любая помощь приветствуется.


person Heribert    schedule 09.12.2015    source источник


Ответы (1)


Не настоящий ответ, но лучшее, что я мог придумать:

Сейчас я использую opencv4android версии 2.4.11. В этой версии он работает на всех устройствах, которые я тестировал до сих пор.

person Heribert    schedule 28.12.2015