如果 process = new ProcessBuilder(new String[]{"su", "-c", "exec " + mylib.so).start() 返回 0 而没有任何执行迹象,如何执行 .so 文件。
我已经使用 cmake 编译了一个 .c 文件并将其存储为库 (.so)。但是,当尝试执行库(必须运行 main() 函数)时,进程退出值为 0(无错误)时什么也没有发生。
我试图写入我创建的文件以测试该库是否正在执行,但也没有任何反应。该文件仍然是空的。
int main (int argc, char **argv)
{
LOGW("Running");
FILE* file = fopen("/data/local/tmp/log.txt","w+");
if (file != NULL)
{
fputs("Running\n", file);
fflush(file);
fclose(file);
}}
此外,我找不到cmake日志文件是因为库没有执行吗?如果我在 cmakelist.txt 中添加日志库,我如何访问日志文件,如下所示:
find_library(
log-lib
log )
target_link_libraries(
mylib
${log-lib} )