在模擬器上運行應用程序時,系統在嘗試在文件夾「/ home/cocadas/Workspace/android-project/JNIAppSample」中創建目錄的cpp代碼時報告錯誤。未能在安卓應用程序中使用NDK創建文件夾
Java將調用一個JNI cpp函數來創建該目錄。
CPP的源代碼是如下:
static int createEventDir(void)
{
int result;
int stringLen;
time_t currentTime = time(0);
struct tm * now = localtime(¤tTime);
stringLen = sprintf(thisEventParms.eventDirectory,
ADAN_EVENT_BASE_DIR, now->tm_mon + 1,
now->tm_mday, now->tm_hour,
now->tm_min, now->tm_sec);
if (stringLen > 0)
{
result = mkdir(thisEventParms.eventDirectory, 0700);
}
else
{
// TBD: Error, unable to make event directory
result = -1;
}
return(result);
}
Android Studio中調試報告導致= -1執行結果= MKDIR(thisEventParms.eventDirectory,0700)之後;而且,調試報告thisEventParms.eventDirectory = 「/ home/cocadas/Workspace/android-project/JNIAppSample」,這是預期的。
經過一番研究,我在清單中添加一個權限如下所示:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
但它仍然給結果= -1
的任何意見或建議?
謝謝!我試過了這個方法。它成功返回一個目錄。 – Hong