关于“Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1), thread 7592 (xample.hellojni)”android NDK错误排查

运行遇到这个错误,是jni程序出错了,我遇到是操作文件权限问题,

stream = fopen("hello.txt","w");这样就会报错,改下路径正常运行,

改为这样:stream = fopen("sdcard/hello.txt","w");


原因:

fopen默认打开的是根目录的文件,而这个目录是不允许直接写的,所以如果文件不存在,是不能创建和写文件;

可以用ls -l查看下目录权限,比如你用chmod 777 data把这个目录改下权限,然后fopen("data/hello.txt","w");这样就可以创建和写文件了。

猜你喜欢

转载自blog.csdn.net/hxl5955/article/details/51689436