Ссылка в Android Studio с разделяемыми библиотеками с контролем версий - PullRequest
4 голосов
/ 18 июня 2020

Я работаю над приложением Android, которое использует внешние библиотеки (написанные на C ++ с оболочкой Java, созданной с помощью SWIG). Моя проблема в том, что одна из разделяемых библиотек зависит от другой разделяемой библиотеки, которая использует управление версиями, например libicui18n.so.67. Android Studio копирует в пакет приложения только * .so libs, игнорируя библиотеки, которые не заканчиваются на .so (на самом деле это символическая c ссылка, содержащая версию в имени so).

Мой вопрос: как мне скопировать также эти символические c ссылки в пакете приложения или библиотеках, которые содержат номер версии в своем имени?

1 Ответ

0 голосов
/ 27 июня 2020

Моим окончательным решением этой проблемы было скомпилировать только одну разделяемую библиотеку, в то время как все остальные внешние зависимости были c библиотеками.

Альтернативным решением было бы использовать patchelf https://github.com/NixOS/patchelf, чтобы изменить общие библиотеки (путем изменения soname и полей need), чтобы использовались только разделяемые библиотеки, оканчивающиеся на .so.

...