Unity特殊文件夹的权限方式记录
Application.dataPath | 对应路径 |
---|
Unity Editor | 项目文件夹/Assets |
Windows | 项目名称_data文件夹 |
Android | /data/app/package name/xxx.apk |
iOS | /var/containers/Bundle/Application/app sandbox/xxx.app/Data |
Application.streamingAssets | 对应路径 |
---|
Unity Editor | 项目文件夹/Assets/StreamingAssets |
Windows | 项目名称_data文件夹/StreamingAssets |
Android | jar:file:///data/app/package name/xxx.apk!/assets |
iOS | /var/containers/Bundle/Application/app sandbox/xxx.app/Data/Raw |
Application.persistentDataPath | 对应路径 |
---|
Unity Editor | C:\Users\username\AppData\LocalLow\company name\product name |
Windows | C:\Users\username\AppData\LocalLow\company name\product name |
Android | /storage/emulated/0/Android/data/package name/files |
iOS | /var/mobile/Containers/Data/Application/app sandbox/Documents |
Application.temporaryCachePath | 对应路径 |
---|
Unity Editor | C:\Users\username\AppData\Local\Temp\company name\product name |
Windows | C:\Users\username\AppData\Local\Temp\company name\product name |
Android | /storage/emulated/0/Android/data/package name/cache |
iOS | /var/mobile/Containers/Data/Application/app sandbox/Library/Caches |
Application.dataPath路径
平台 | 读 | 写 | IO操作 |
---|
编辑器 | OK | OK | OK |
IOS | OK | X | OK |
Android | X | X | X |
PC | OK | X | X |
Application.streamingAssetsPath路径
描述 :
- 路径下的文件目录结构和文件会原封不动的打包进安装包里面
- 在Android平台,它的路径如下,StreamingAssets目录下的文件被压缩到一个.jar文件中,可以通过www的方式获得压缩文件中真正的数据(只可读,不可写)。
“jar:file://” + Application.dataPath + “!/assets/”;
不使用外部库工具 :使用WWW可以全平台读
平台 | 读 | 写 | IO操作 | WWW |
---|
编辑器 | OK | OK | OK | 建议用IO |
IOS | OK | OK | OK | 建议用IO |
Android | OK | X | X | OK |
PC | OK | X | OK | OK |
平台 | WWW访问 | IO访问 |
---|
编辑器 | 建议用IO | Application.streamingAssetsPath |
IOS | 建议用IO | Application.streamingAssetsPath 或Application.dataPath + “/Raw”; |
Android | Application.streamingAssetsPath 或 “jar:file://” + Application.dataPath + “!/assets/”; | X |
使用外部库工具
如果采用第三方解压缩库操作发布apk,可以实现Android平台的读写权限(全平台的读写权限)。
如:对比lzma,gzip,Ionic.Zip选择第三方类库是SharpZipLib。实例代码如下:
voidShowFileList(stringpath)
{
using(ZipFilezip =newZipFile(path))
{
foreach(ZipEntryentryinzip)
Debug.Log(entry.Name);
}
}
平台 | 读 | 写 | IO操作 |
---|
编辑器 | OK | OK | OK |
IOS | OK | OK | OK |
Android | OK | OK | OK |
Application.persistentDataPath路径
描述 :
- 在ios,Android平台,它指向一处公共目录(比如手机的内存卡),当玩家拔除内存卡此目录就失效了.
平台 | 读 | 写 | IO操作 |
---|
编辑器 | OK | OK | OK |
IOS | OK | OK | OK |
Android | OK | OK | OK |
PC | OK | OK | OK |
Application.temporaryCachePath路径
平台 | 读 | 写 | IO操作 |
---|
编辑器 | OK | OK | OK |
IOS | OK | OK | OK |
Android | OK | OK | OK |
PC | OK | OK | OK |