Я создаю разделяемую библиотеку Android, и проблема в том, что Android, похоже, не поддерживает управление версиями совместно используемой библиотеки. Похоже, что .so библиотеки на телефоне Android не содержат номера своей версии в своем имени.
Когда я делаю свою сборку (ndk r6 со своим собственным набором инструментов), создается впечатление, что я создаю зависимости, которые добавляют другие библиотеки .so с номером версии в конце.
У меня вопрос, могу ли я создать свой .so с его зависимостями, не указав номер своей версии.
Я могу объяснить лучше, показав то, что, как мне кажется, я ожидаю увидеть. В данный момент моя dll не загружается и когда я делаю readelf, я вижу это:
$ arm-linux-androideabi-readelf.exe -d libthis.so
Dynamic section at offset 0x188fc contains 30 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [lib1.so.3]
0x00000001 (NEEDED) Shared library: [lib2.so.3]
0x00000001 (NEEDED) Shared library: [lib3.so.3]
0x00000001 (NEEDED) Shared library: [lib4.so.3]
0x00000001 (NEEDED) Shared library: [lib5.so.3]
0x00000001 (NEEDED) Shared library: [lib6.so.3]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x0000000e (SONAME) Library soname: [libthis.so.3]
0x00000010 (SYMBOLIC) 0x0
Когда я ожидал увидеть это
$ arm-linux-androideabi-readelf.exe -d libthis.so
Dynamic section at offset 0x188fc contains 30 entries:
Tag Type Name/Value
0x00000001 (NEEDED) Shared library: [lib1.so]
0x00000001 (NEEDED) Shared library: [lib2.so]
0x00000001 (NEEDED) Shared library: [lib3.so]
0x00000001 (NEEDED) Shared library: [lib4.so]
0x00000001 (NEEDED) Shared library: [lib5.so]
0x00000001 (NEEDED) Shared library: [lib6.so]
0x00000001 (NEEDED) Shared library: [liblog.so]
0x0000000e (SONAME) Library soname: [libthis.so]
0x00000010 (SYMBOLIC) 0x0