Unityの各プラットフォームにおけるApplication.xxxxPathの解析

Unityの各プラットフォームにおけるApplication.xxxxPathの解析

序文

Unity の下には、Application.dataPath、Application.streamingAssetsPath、Application.persistentDataPath、Application.temporaryCachePath などのパスがあります。多くの場合、これらのパスを読み書きしたり、ディレクトリに移動してどのようなファイルが存在するかを確認する必要があります。したがって、以下では主に、読み取りおよび書き込み権限パスからこれらのパス名を分析します。

権限

平均 読み取りおよび書き込み権限 バッグの中にありますか
アプリケーション.データパス アセットディレクトリ 読み取り専用 はい
Application.streamingAssetsPath アセット/フローリソースディレクトリ 読み取り専用 はい
Application.persistentDataPath 永続的なディレクトリ 読み書き可能 いいえ
Application.temporaryCachePath 一時キャッシュディレクトリ 読み取り専用 いいえ

分析する

Application.persistentDataPath のみが読み取りおよび書き込み可能な機能を備えているという事実に基づいて、通常、物事の保存やホット アップデート ファイルのダウンロードはこのディレクトリに配置されます。
通常、いくつかのリソース ファイルを最初に Application.streamingAssetsPath に配置し、インストール後にそれらを Application.persistentDataPath にコピーしますが、Application.persistentDataPath に直接配置してみてはいかがでしょうか。

Application.persistentDataPath のパスはパッケージには含まれておらず、インストール後にのみ存在するため、これを行う必要があります。

各プラットフォーム下の通路

ウィンドウズ

パス形式 パス解決 パスの例
アプリケーション.データパス <プロジェクトフォルダーへのパス>/Assets プロジェクトのアセットディレクトリ F:/Learn/TurnBaseDemo/アセット
Application.streamingAssetsPath エディターの下: <プロジェクト フォルダーへのパス>/Assets/StreamingAssets PC パッケージ: {プロジェクト出力パス}/{ProductName_Data/StreamingAssets} プロジェクトのアセット/ストリーミングアセット 注: エディターは PC パッケージとは異なります F:/Learn/TurnBaseDemo/Assets/StreamingAssets
Application.persistentDataPath %userprofile%\AppData\LocalLow\<会社名>\<製品名> %userprofile% は通常、C:/Users/PC、companyname=会社名、productname=製品名と同じです。 C:/ユーザー/PC/AppData/LocalLow/super41/TurnBaseDemo
Application.temporaryCachePath %userprofile%\AppData\Local\Temp<会社名><製品名> 同上 C:/ユーザー/PC/AppData/ローカル/Temp/super41/TurnBaseDemo

アンドロイド

パス形式 パス解決
アプリケーション.データパス /data/app/<パッケージ名>-xxxxxx==/base.apk ジッパーの内側に
Application.streamingAssetsPath jar:file:///data/app/<パッケージ名>-xxxxxx==/base.apk !/assets UnityWebRequest または www を使用して、このディレクトリ内のリソースにアクセスします
Application.persistentDataPath /storage/emulated/0/Android/data/<パッケージ名>/files packagename = パッケージ名
Application.temporaryCachePath /storage/emulated/0/Android/data/<パッケージ名>/cache 同上

分析する

通常、ファイル マネージャーまたは adb コマンドを使用して、対応するパスを入力し、ファイルが存在するかどうかを確認します。ここでより意味のあるパスは、Application.persistentDataPath と Application.temporaryCachePath です。これら 2 つのパスはチェックイン可能であり、
他の 2 つのパスは通常、root 権限がなければアクセスできず、アクセスする必要もありません。ベースのアクセス。

IOS

パス形式 パス解決
アプリケーション.データパス /var/containers/バンドル/アプリケーション/アプリサンドボックス/xxx.app/Data アプリサンドボックスはアプリケーションサンドボックスを指します
Application.streamingAssetsPath /var/containers/バンドル/アプリケーション/アプリサンドボックス/xxx.app/Data/Raw 同上
Application.persistentDataPath /var/mobile/Containers/データ/アプリケーション/アプリサンドボックス/ドキュメント 同上
Application.temporaryCachePath /var/mobile/Containers/データ/アプリケーション/アプリサンドボックス/ライブラリ/キャッシュ 同上

おすすめ

転載: blog.csdn.net/aaa27987/article/details/122337859