无法使用NDK从外部存储读取

时间:2013-03-27 10:36:21

标签: android android-ndk

我正在使用NDK从Music文件夹加载用户声音文件。 我从ACTION_PICK意图获取文件路径,它看起来像这样:

  

/ storage / emulated / 0 /音乐/我的旁白 - 0007.wav

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

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

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

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

我也试过添加它,但它没有效果:

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

要从 fcntl.h 打开我正在使用 open()的文件:

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

为什么它在调试模式下有效但在发布时却没有?

1 个答案:

答案 0 :(得分:-1)

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