我正在尝试在VS 2019的Android本机活动中使用AAssetManager
加载图像和文本文件。我尝试了所有可能想到的路径组合,以获得AAssetManager_openDir
或AAssetManager_open
给我一个文件。我在其他地方找到的解决方案与错误的路径有关,或者AAssetManager
对象无效。
这是我尝试访问图像和文本文件的方式。
AAssetManager* pMan = m_pApp->activity->assetManager;
AAsset* pAsset = AAssetManager_open(pMan, "drawable\\testpng", AASSET_MODE_BUFFER); // Always returns NULL
AAssetDir* pAssetDir = AAssetManager_openDir(pMan, "res\\drawable");
const char* szFilename;
while ((szFilename = AAssetDir_getNextFileName(pAssetDir)) != NULL)
{
// 'szFilename' is always NULL and this print never gets hit
__android_log_print(ANDROID_LOG_DEBUG, "Debug", szFilename);
}
这是我的Android.Packaging
项目。
Android清单
<string name="testpng">drawable\test.png</string>
<string name="testdrawtxt">drawable\testtext.txt</string>
<string name="testpng2">drawable\assets\test2.png</string>
<string name="testdrawtxt2">drawable\assets\testtext2.txt</string>
据我所知,资产经理有效。我在做什么错了?
答案 0 :(得分:1)
资产不应位于 res 下,而应处于相同的层次结构级别。