2013-03-27 100 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標誌控制的不同代碼,並且發佈版本有一個錯誤。