Анализ Application.xxxxPath под каждую платформу Unity
предисловие
В Unity есть такие пути, как Application.dataPath, Application.streamingAssetsPath, Application.persistentDataPath и Application.temporaryCachePath. Нам часто приходится читать и записывать эти пути или заходить в каталог, чтобы посмотреть, какие файлы существуют. Таким образом, нижеследующее в основном анализирует эти имена путей из разрешений на чтение и запись и путей .
разрешения
путь | иметь в виду | Разрешения на чтение и запись | Это в сумке |
---|---|---|---|
Application.dataPath | Каталог активов | только чтение | да |
Application.streamingAssetsPath | Каталог активов/потоковых ресурсов | только чтение | да |
Application.persistentDataPath | постоянный каталог | читаемый и записываемый | нет |
Application.temporaryCachePath | каталог временного кэша | только чтение | нет |
анализировать
Основываясь на том факте, что только Application.persistentDataPath имеет функции чтения и записи, обычно в этом каталоге размещаются файлы для хранения или загрузки файлов горячего обновления.
Обычно мы сначала помещаем некоторые файлы ресурсов в Application.streamingAssetsPath, а затем после установки копируем их в Application.persistentDataPath, почему бы не поместить их прямо в Application.persistentDataPath.
Поскольку Application.persistentDataPath, его пути нет в пакете, он существует только после установки, так что вам придется это сделать.
Пути под каждой платформой
окна
путь | формат пути | разрешение пути | пример пути |
---|---|---|---|
Application.dataPath | <путь к папке проекта>/Assets | Каталог активов проекта | F:/Обучение/TurnBaseDemo/Активы |
Application.streamingAssetsPath | В редакторе: <путь к папке проекта>/Assets/StreamingAssets Пакет ПК: {путь вывода проекта}/{ProductName_Data/StreamingAssets} | Assets/StreamingAssets проекта Примечание: Редактор отличается от пакета для ПК | F:/Learn/TurnBaseDemo/Assets/StreamingAssets |
Application.persistentDataPath | %userprofile%\AppData\LocalLow\<имя компании>\<название продукта> | %userprofile% обычно равно C:/Users/PC, companyname=название компании, productname=название продукта | C:/Пользователи/ПК/AppData/LocalLow/super41/TurnBaseDemo |
Application.temporaryCachePath | %userprofile%\AppData\Local\Temp<название компании><название продукта> | то же самое | C:/Users/PC/AppData/Local/Temp/super41/TurnBaseDemo |
андроид
путь | формат пути | разрешение пути |
---|---|---|
Application.dataPath | /data/app/<packageName>-xxxxxx==/base.apk | внутри молнии |
Application.streamingAssetsPath | jar:file:///data/app/<packageName>-xxxxxx==/base.apk !/assets | Используйте UnityWebRequest или www для доступа к ресурсам в этом каталоге. |
Application.persistentDataPath | /storage/emulated/0/Android/data/<packagename>/files | имя пакета = имя пакета |
Application.temporaryCachePath | /storage/emulated/0/Android/data/<packagename>/cache | то же самое |
анализировать
Как правило, мы используем файловый менеджер или команду adb, чтобы ввести соответствующий путь, чтобы проверить, существуют ли какие-либо файлы. Более значимыми путями здесь являются Application.persistentDataPath и Application.temporaryCachePath, потому что эти два пути можно зарегистрировать,
а два других пути, как правило, недоступны без прав суперпользователя и не нуждаются в доступе. доступ на основе.
IOS
путь | формат пути | разрешение пути |
---|---|---|
Application.dataPath | /var/containers/Bundle/Application/app sandbox/xxx.app/Data | песочница приложения относится к песочнице приложения |
Application.streamingAssetsPath | /var/containers/Bundle/Application/app sandbox/xxx.app/Data/Raw | то же самое |
Application.persistentDataPath | /var/mobile/Containers/Data/Application/app sandbox/Documents | то же самое |
Application.temporaryCachePath | /var/mobile/Контейнеры/Данные/Приложение/песочница приложения/Библиотека/Кэши | то же самое |