Android fdopen不工作

Android fdopen不工作,android,android-ndk,java-native-interface,Android,Android Ndk,Java Native Interface,当问题变得公开并开始工作时,代码: LOGI("opened %s", strerror( errno )); int handle= open("/mnt/sdcard/license.rar",O_RDONLY); LOGI("opened %s", strerror( errno )); FILE* hNewFile= fdopen(handle,"r"); LOGI("opened handle %d hNewFile %d %s",handle,

当问题变得公开并开始工作时,代码:

    LOGI("opened %s", strerror( errno ));
    int handle= open("/mnt/sdcard/license.rar",O_RDONLY);
    LOGI("opened %s", strerror( errno ));
    FILE* hNewFile= fdopen(handle,"r");
    LOGI("opened handle %d hNewFile %d %s",handle, hNewFile, strerror( errno ));
对应的日志文件:

03-09 14:12:40.151: opened No such file or directory
03-09 14:12:40.160: opened No such file or directory
03-09 14:12:40.160: opened handle 3 hNewFile 0 Invalid argument
我有正确的舱单许可

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>


有什么想法吗?

你确定/mnt/sdcard/实际上是正确的路径吗?使用Java端API getExternalStorageDirectory()(为了确保这一点,你可以将该目录传递给你的JNI代码。还有,为什么这部分都是本机的?它是本机的,因为我实际上正在将一些代码移植到android…这就是失败的地方。我知道这是正确的路径,因为我使用ndk使用简单的代码成功地在这个目录中创建了一个文件:file*file=fopen(“/mnt/sdcard/file.blah”,“w+”);if(file!=NULL){fputs(“HELLO WORLD!\n”,file);fflush(file);fclose(file);}