2013-04-01 107 views
1

我試圖遍歷資產文件夾中包含的所有文件。要獲得我使用的工作目錄:AAssetManager_openDir。然而,只是在我的代碼中導致這種情況在啓動時會導致崩潰 - android_main甚至無法查看。是否有人有類似的問題和/或知道如何解決這個問題?AAssetManager_openDir開始崩潰應用程序

const char* filename = (const char*)NULL; 
const char* dirName = ""; 
AAssetDir* dir = AAssetManager_openDir(assetManager, dirName); 
while((filename = AAssetDir_getNextFileName(dir)) != NULL) 
{ 
    //action per file 
} 
AAssetDir_close(dir); 

回答

0

嗯,我沒有任何運氣讓它工作,所以我嘗試了不同的方法。

我編譯了一個靜態的Minizip庫,並且與Zlib結合,打開了APK文件(通過JNIEnv找到的路徑),並找到了文件名,並跳過了資產文件夾中未包含的條目。

迂迴的做法,但由於AAssetManager_openDir不工作,這似乎是唯一的選擇。

如果有人確實找到了「正確的」解決方案,那還是不錯的。

0
const char* dirName = ""; 

可能是什麼導致了崩潰。

而是嘗試:

while(1) 
{ 
const char* filename = AAssetDir_getNextFileName(dir); 
if(!filename) 
break; 

}