java.lang.UnsatisfiedLinkError: ошибка dlopen: библиотека .so является 64-разрядной вместо 32-разрядной - PullRequest
0 голосов
/ 01 мая 2018

У меня есть библиотека C, которую я надеюсь обернуть в JNI и вызвать из моего проекта Android. Файл .so имеет следующую архитектуру: i386: x86-64. Всякий раз, когда я добавляю его в свой проект в папках src / main / jniLibs / arm64-v8a | armeabi-v7a | x86, я получаю сообщение о том, что файл .so 64-битный, а не 32-битный. Я попытался дать перекрестную ссылку на эту проблему и заметил, что люди обычно получают противоположную проблему, где .so был 32-разрядным, а не 64-разрядным. Я попытался пролистать документацию по Android, чтобы увидеть, где я запутался, но, похоже, не могу найти решение.

1 Ответ

0 голосов
/ 01 мая 2018

64-битная библиотека не должна находиться в папке src / main / jniLibs / armeabi-v7a . Если ваше устройство поддерживает arm64-v8a ABI, приложение будет использовать 64-битную библиотеку. Если устройство несовместимо, вы не можете использовать эту библиотеку.

...