libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x0
这种错误一般是以为空指针导致,检查自己代码中是否存在空指针,如果没有,看是不是调用了外部函数(库函数)。
有可能调用函数中出现了空指针,如调用前需要初始化,但没有初始化就直接调用了,导致函数内存在空指针
执行程序出现 No such file or directory
明明有这个文件,但仍然报找不到这个文件,其实这个并不是找不到这个文件本身,很有可能是这个文件所依赖的文件找不到,比如依赖的库文件。
can't execute: Permission denied
(1)可能没有权限755
(2)修改了权限还提示这个错,可能缺少对应得库,比如是64位程序,但只有32位的libc库
解决办法编译时加入LOCAL_FORCE_STATIC_EXECUTABLE := true 或LOCAL_MULTILIB := 32
error: undefined reference to 'hw_get_module'
(1)常见的原因缺少头文件、库文件、参数不对,也就是说的确未定义
(2)罕见原因,单独编译这个库可以编过,通过编译可执行程序,依赖这个库时编译不过。可以看看可执行程序的MK有没有定义LOCAL_FORCE_STATIC_EXECUTABLE,注释掉试试