C ++ android assetmanager читает файлы из внутреннего каталога приложения

Я использую AssetManager в коде C ++ для загрузки своих активов. Но если во внутреннем каталоге приложения AssetManager существует файл с таким же именем, сначала проверьте его и загрузите.

Можно ли настроить AssetManager, чтобы избежать файлов во внутренней директории приложения и проверять только файлы ресурсов?

UPD: я был не прав. AssetManager работает нормально.

1

Решение

Такое же поведение для Java и NDK. Оба используют Класс AssetManager под капотами. За более ранние версии AssetManager.cpp, AssetManager :: Open () работает так же.

Теоретически возможно настроить поведение AssetManager (в конце концов, AssetManager.addAssetPaths () является общественности, и может быть получен с помощью рефлексии), но не существует документированного способа сделать это, что означает, что вы не можете знать, будет ли ваш хак работать на следующей версии Android или на пользовательской версии системы какого-либо поставщика.

Я бы порекомендовал не делать такие трюки. Гораздо безопаснее проверить, существует ли тот же файл во внутренней директории, и удалить или переименовать его, если это необходимо. Но в любом случае менеджер ресурсов обычно не читает из каталога внутренних файлов приложения.

0

Другие решения

Других решений пока нет …