android - Unity Android 的 StreamingAssets 文件夹位置
问题描述
我将StreamingAssets用于我的 Android 游戏,并且想在安装 APK 后在StreamingAssets文件夹中添加文件,但我不知道该文件夹的位置在哪里。
你能帮助我吗 ?
解决方案
构建后,您无法添加或修改流资产文件夹内的文件,因为在几乎所有平台上,该目录都是只读的。从文档:
在许多平台上,流媒体资产文件夹位置是只读的;您不能在运行时在那里修改或写入新文件。将 Application.persistentDataPath 用于可写的文件夹位置。
也就是说,在 Android 上,流媒体资产的文件路径位于"jar:file://" + Application.dataPath + "!/assets
,来自相同的文档:
Android 使用压缩的 APK /JAR 文件中的文件,“jar:file://”+ Application.dataPath +“!/assets”。
请注意,您无法通过标准 C#File
函数访问此文件位置,但需要使用 webrequest 访问它。
如果您需要一个目录来在运行时存储数据,则需要使用该目录Application.persistenDataPath
。从文档:
此值是一个目录路径,您可以在其中存储要在运行之间保留的数据。在 iOS 和 Android 上发布时,persistentDataPath 指向设备上的公共目录。此位置中的文件不会被应用更新删除。用户仍然可以直接删除这些文件。
推荐阅读
- excel - 使用 VBA 将单元格格式从一张表映射到另一张表
- scala - L 型在 A 型中处于逆变位置 => Either[L, B]
- ubuntu - 如何更新 Protobuf 运行时库?
- jquery - 如何在 Firefox 开发人员工具中检查 jQuery data()?
- javascript - 我们可以在选择标签上使用什么事件来触发更改,以及重新选择相同的选项?
- c# - Angular 6 - 对预检请求的响应未通过访问控制检查:没有“Access-Control-Allow-Origin”标头
- uwp - MyApp_language-xx.appx 不会为适用于商店的 Windows 10 程序包生成
- asp.net-mvc - 我们如何使用 MVC 访问服务器端的 sessionStorage?
- docker - wurstmeister/kafka 要绑定的卷?- 码头工人
- svg - 带有视口的 SVG 在 Chrome 中无法缩放