【问题标题】:Unity Android's StreamingAssets folder locationUnity Android 的 StreamingAssets 文件夹位置
【发布时间】:2020-10-21 15:49:42
【问题描述】:

我将 StreamingAssets 用于我的 Android 游戏, 并希望在安装 APK 后在 StreamingAssets 文件夹中添加文件, 但是我不知道这个文件夹的位置在哪里。

你能帮帮我吗?

【问题讨论】:

    标签: android unity3d apk


    【解决方案1】:

    您无法在构建后添加或修改流资产文件夹内的文件,因为在几乎所有平台上,该目录都是只读。来自the docs

    在许多平台上,流媒体资产文件夹位置是只读的;您不能在运行时在那里修改或写入新文件。将 Application.persistentDataPath 用于可写的文件夹位置。

    也就是说,在 Android 上,流媒体资产的文件路径位于 "jar:file://" + Application.dataPath + "!/assets,来自同一文档:

    Android 使用压缩 APK 中的文件 /JAR 文件,"jar:file://" + Application.dataPath + "!/assets"。

    请注意,您不能通过标准 C# File 函数访问此文件位置,但需要使用 webrequest 访问它。

    如果您需要在运行时存储数据的目录,则需要改用Application.persistenDataPath。 来自the docs

    此值是一个目录路径,您可以在其中存储要在两次运行之间保留的数据。在 iOS 和 Android 上发布时,persistentDataPath 指向设备上的公共目录。此位置的文件不会被应用更新删除。文件仍然可以被用户直接删除。

    【讨论】:

      【解决方案2】:

      构建后不要这样做。

      在 Unity Editor 的 Assets/ 目录中创建 StreamingAssets 目录,并在其中添加所有文件。它们将自动包含在构建中。

      如果您因为 Play 商店的 .apk 大小限制而需要此文件,那么您可以创建一个包含所有其他资产(包括 SteamingAssets 目录中的资产)的 .obb 文件。在这里查看 - https://docs.unity3d.com/Manual/android-OBBsupport.html

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多