這裏是我用來讀取Android的資產文件夾使用asset_manager NDK的lib
AAssetManager* mgr = AAssetManager_fromJava(env, assetManager);
AAsset* asset = AAssetManager_open(mgr, (const char *) js, AASSET_MODE_UNKNOWN);
if (NULL == asset) {
__android_log_print(ANDROID_LOG_ERROR, NF_LOG_TAG, "_ASSET_NOT_FOUND_");
return JNI_FALSE;
}
long size = AAsset_getLength(asset);
char* buffer = (char*) malloc (sizeof(char)*size);
AAsset_read (asset,buffer,size);
__android_log_print(ANDROID_LOG_ERROR, NF_LOG_TAG, buffer);
AAsset_close(asset);
添加下面一行到我的Android.mk
# for native asset manager
LOCAL_LDLIBS += -landroid
代碼,不要忘了包括在源文件中
#include <android/asset_manager.h>
很好的回答!與Assimp協同工作以加載3D模型。首先,我像上面描述的那樣將一個文件加載到內存中,然後將緩衝區傳遞給aiImportFileFromMemory – j00hi
你能幫我弄清楚你傳遞的文件名是從哪裏來的? – Nishant
@Nishant你能想出如何傳遞文件名嗎? – re3el