我使用System.loadLibrary
来加载*.so
文件,但出现此错误:
java.lang.UnsatisfiedLinkError:dlopen失败:无法找到符号 “ _ZN7android4base10LogMessageC1EPKcjNS0_5LogIdENS0_11LogSeverityES3_i” 被“ /data/app/com.xx.xx- 2LZ9X_IvwSNdsAL5OnmZ_w == / lib / arm64 / libhidlbase.so“
这可能导致什么?你能帮我吗?
我还编写了Android源代码来获取vts案例,当我在手机上运行二进制测试文件时,我也遇到了这个问题。
答案 0 :(得分:0)
好像您尚未链接必需的目标库文件“ 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} )
此示例说明了here