ошибка "не удается найти символ" при использовании System.loadLibrary - PullRequest
0 голосов
/ 05 июля 2019

Я использую System.loadLibrary для загрузки файла *.so, но я получил эту ошибку:

java.lang.UnsatisfiedLinkError: ошибка dlopen: не удается найти символ "_ZN7android4base10LogMessageC1EPKcjNS0_5LogIdENS0_11LogSeverityES3_i" ссылается на "/data/app/com.xx.xx- 2LZ9X_IvwSNdsAL5OnmZ_w == / Библиотека / arm64 / libhidlbase.so "

Что может вызвать это? Вы можете мне помочь?

Я также написал исходный код Android для получения VTS, и когда я запустил двоичный тестовый файл на своем телефоне, у меня также возникла эта проблема.

1 Ответ

0 голосов
/ 05 июля 2019

Похоже, вы не связали требуемый целевой файл библиотеки 'log'.Вам необходимо добавить библиотеку журналов в качестве связанной библиотеки для вашего * .so файла.Если вы используете CMake, вы можете добавить что-то подобное в файл CMakeListLists -

find_library( # Sets the name of the path variable.
              log-lib

              # Specifies the name of the NDK library that
              # you want CMake to locate.
              log )


target_link_libraries( # Specifies the target library.
                       your_so_file_name

                       # Links the target library to the log library
                       # included in the NDK.
                       ${log-lib} )

Этот пример объясняется здесь

...