Правильный способ доступа к версионному файлу jni so на устройстве - PullRequest
0 голосов
/ 30 октября 2018

У меня есть несколько нативных библиотек, которые я кросс-компилировал в системе Linux для arm64. У всех файлов есть версия, то есть SONAME с номером версии.

Я скопировал файлы и переименовал их, например, в. libqdbm.so вместо libqdbm.so.14. Я также попытался скопировать только ссылку на них с этим именем.

Ссылка работает как положено и libqdbm.so файл добавляется в APK-файл. Но когда я хочу запустить его на устройстве, он всегда ищет файл libqdbm.so.14 и не может его найти.

Конечно, я мог бы попытаться исправить это с помощью patchelf, но я думаю, что это не лучший способ. Кроме того, я не хочу менять make-скрипты, которые собирают неверсионные файлы (есть много библиотек, и я очень плохо разбираюсь в этих скриптах).

Было бы здорово, если бы кто-нибудь мог мне объяснить, как это должно работать? Что я могу сделать? Единственное, что мне приходит в голову, - это изменить процесс apk-build, чтобы копировать также версионный so-файл, но это тоже не похоже на хорошее решение.

Большое спасибо заранее.

...