2013-03-27 99 views
0

我正在使用NDK从音乐文件夹加载用户声音文件。 我从ACTION_PICK意图得到我的文件路径和它看起来像这样:无法使用NDK从外部存储器读取

/存储/模拟/ 0 /音乐/我的叙事 - 0007.wav

我没有任何问题调试模式,但在发布时失败:文件无法打开。

我也用Java使用JNI从外部存储加载图像文件,没有问题。

我有此权限在我的清单文件:

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

我也尝试添加这一点,但它没有任何效果:

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

要打开我使用打开文件()fcntl.h

open(filePath, O_RDONLY, S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH); 

为什么它在调试模式下工作,但不在发布中?

+0

不知道,但你尝试使用fopen? – RelativeGames 2013-03-27 19:31:32

回答

0

看起来像我发现问题的根源。 应用程序的调试版本和发行版本使用由#define标志控制的不同代码,并且发布版本有一个错误。