我正在开发一个跨平台的库,我正在尝试在Android上进行测试。我用ndk-build编译了我的库,并且我正在尝试编译并运行我们为库提供的命令行测试夹具。
我使用adb push
将测试夹具和.so放在/data/local/tmp
和chmod
两者中,用于777。
然后我使用adb shell
来运行测试,但得到以下错误
shell@android:/data/local/tmp $ ./mytest
./mytest
link_image[1936]: 7289 could not load needed library 'libtconfig.so' for './mytest' (load_library[1091]: Library 'libtconfig.so' not found)CANNOT LINK EXECUTABLE
mytest
可执行文件和libtconfig.so
都在同一目录中。我会认为它看起来像“。”目录第一?
答案 0 :(得分:1)
我发现我可以将路径/data/local/tmp
添加到LD_LIBRARY_PATH
并且它会起作用,但是当在脚本中使用adb shell
命令时,每个“adb shell
”都是新的实例,因此重置LD_LIBRARY_PATH