Issue
Встроенный APK выглядит неправильно и не позволяет моему приложению загрузить собственную библиотеку, поскольку он не может найти зависимость при вызове dlopen()
: dlopen failed: library "libboost_filesystem.so.1.68.0" not found
.
jniLibs content
Каталог
My jniLibs
для целевой платформы содержит следующие файлы:
libboost_filesystem.so.1.68.0
- это "настоящий" общий объект. libboost_filesystem.so
- этосимволическая ссылка на libboost_filesystem.so.1.68.0
Содержимое APK
После сборки APK содержит libboost_filesystem.so
, который теперь является двоичным объектом (не символическая ссылка).Похоже, система сборки Android следовала по символической ссылке, захватила содержимое файла, на который указывает ссылка, но вместо этого использовала имя символической ссылки.
Я попытался удалить символическую ссылку из папки jniLibs
,но при этом создается впечатление, что файлы xxx.so.VERSION
затем игнорируются.
Вопрос
Как я могу встроить свой общий объект "полное имя" в jniLibs
без проблем с системой сборки Androidс этим ?