1

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);
4

2 に答える 2

0

運が悪かったので、別のアプローチを試しました。

Minizip の静的ライブラリをコンパイルし、Zlib と組み合わせて APK ファイル (JNIEnv 経由で見つかったパス) を開き、アセット フォルダーに含まれていないエントリをスキップして、その中に含まれているファイル名を見つけました。

それを行うための回り道ですが、 AAssetManager_openDir が機能していないため、これが唯一のオプションのように思えました。

それでも、誰かが「正しい」解決策を見つけたらいいですね。

于 2013-04-02T11:14:23.450 に答える