我正在尝试遍历assets文件夹中包含的所有文件。要获取我使用的工作目录:AAssetManager_openDir
。然而,只是在我的代码中使用此代码会导致启动时崩溃 - android_main甚至不会查看。有没有人有类似的问题和/或知道如何解决这个问题?
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 :(得分:0)
好吧,我没有运气,所以我尝试了不同的方法。
我编译了一个Minizip的静态库,并与Zlib一起打开了APK文件(通过JNIEnv找到的路径),发现文件名位于其中,跳过资源文件夹中未包含的条目。
迂回的方式,但由于AAssetManager_openDir不起作用,这似乎是唯一的选择。
如果有人确实找到了“正确的”解决方案,那还是不错的。
答案 1 :(得分:0)
const char* dirName = "";
可能是导致崩溃的原因。
而是尝试:
while(1)
{
const char* filename = AAssetDir_getNextFileName(dir);
if(!filename)
break;
}