サイトアイコン 未知の路

Unity,Androidのデータ保存領域まとめ

内部ストレージ、外部ストレージのデータ保存領域について調べる必要があったので
覚書としてまとめることにした。

Unity

パス取得変数 環境 領域 取得パス
Application.dataPath Android
アプリが本体に所在
/data/app/<アプリのID>.apk
Android
アプリがSDカードに所在
/mnt/asec/<アプリのID>/pkg.apk
iOS /var/mobile/Applications
/XXXXXXXX-XXXX-XXXX-XXXX
-XXXXXXXXXXXX/myappname.app/Data
Application.persistentDataPath Androidアプリが本体に所在 内部データ /data/data/<アプリのID>/files/
AndroidアプリがSDカードに所在 外部データ /mnt/sdcard/Android/data/<アプリのID>/files/
iOS 内部データ /var/mobile/Applications
/XXXXXXXX-XXXX-XXXX-XXXX
-XXXXXXXXXXXX/Documents
Application.temporaryCachePath Androidアプリが本体に所在 内部キャッシュ /data/data/<アプリのID>/cache/
AndroidアプリがSDカードに所在 外部キャッシュ /mnt/sdcard/Android/data/<アプリのID>/cache/
iOS 内部キャッシュ /var/mobile/Applications
/XXXXXXXX-XXXX-XXXX-XXXX
-XXXXXXXXXXXX/Library/Caches

Androidネイティブ

環境:Nexus7(2013)/Android4.4.2

パス取得メソッド 領域 アプリの専用領域か ユーザへのアクセス許可 データ削除の方法 アプリ削除時に 取得パス
Context.getFilesDir() 内部データ × データ消去 消える /data/data/<アプリのID>/files
Context.getCacheDir() 内部キャッシュ × キャッシュ消去 消える /data/data/<アプリのID>/cache
Context.getExternalFilesDir() 外部データ データ消去 消える /storage/emulated/0/Android/data/<アプリのID>/files
Context.getExternalCacheDir() 外部キャッシュ キャッシュ消去 消える /storage/emulated/0/Android/data/<アプリのID>/cache
Environment.getExternalStorageDirectory() 外部公開 × 提供なし 消えない /storage/emulated/0
Environment.getExternalStoragePublicDirectory() 外部公開共有 × 提供なし 消えない /storage/emulated/0/DCIM

参考サイト
http://blog.lciel.jp/blog/2014/02/08/android-about-storage/
http://qiita.com/bokkuri_orz/items/c37b2fd543458a189d4d
モバイルバージョンを終了