Android Native Activity AssetManager VS 2019无法正常工作

时间:2019-10-19 18:00:04

标签: c++ android-ndk visual-studio-2019 android-assetmanager

我正在尝试在VS 2019的Android本机活动中使用AAssetManager加载图像和文本文件。我尝试了所有可能想到的路径组合,以获得AAssetManager_openDirAAssetManager_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 Package Project

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>

最后是实际输出目录 Resources output directory

据我所知,资产经理有效。我在做什么错了?

1 个答案:

答案 0 :(得分:1)

资产不应位于 res 下,而应处于相同的层次结构级别。