如何更新我在Android上运行的Unity制作的游戏?

如何更新我在Android上运行的Unity制作的游戏?,android,unity3d,updates,assetbundle,Android,Unity3d,Updates,Assetbundle,我的游戏有100万个资产包,我将budle文件放入StreamingAssets文件夹(我想将我的apk作为一个完整的应用程序发布,而不是播放时下载的风格),然后我将我的项目构建到一个apk文件中,然后我将apk文件安装到我的设备上 但是,当我的游戏找到一个新的更新可用时,我如何更新我的包呢?Android上的StreamingAssets文件夹是只读的 一种解决方案是:将StreamingAssets文件夹中的捆绑包复制到类似Android外部存储的位置,然后在外部存储中使用捆绑包。但这将使我

我的游戏有100万个资产包,我将budle文件放入StreamingAssets文件夹(我想将我的apk作为一个完整的应用程序发布,而不是播放时下载的风格),然后我将我的项目构建到一个apk文件中,然后我将apk文件安装到我的设备上

但是,当我的游戏找到一个新的更新可用时,我如何更新我的包呢?Android上的StreamingAssets文件夹是只读的

一种解决方案是:将StreamingAssets文件夹中的捆绑包复制到类似Android外部存储的位置,然后在外部存储中使用捆绑包。但这将使我的游戏规模从100米增加到200米

所以在Android上,当我安装一个apk时,我可以同时将一些文件安装到可写的地方吗


有人能帮我吗?谢谢。

我不确定我是否理解:如果您在某个时候不打算更新资产包或在游戏中下载新资产,那么就不应该使用资产包

因此,只需使用常规预置并使用常规Android更新过程来更新应用程序


但如果你想在游戏中进行资产更新,那么你可以使用资产包,将它们放在StreamingAssets上,并使用
WWW.LoadFromCacheOrDownload(string url,int version)
加载它们;当您的资产的新版本可用时,您可以在该调用中更改
版本
,它只需下载并缓存新版本。

感谢您的回复,Roberto。我想在游戏中更新资产,并将其放在StreamingAssets上。但是如果我使用WWW.loadFromCache或download来加载和更新捆绑包,它将创建一个捆绑包缓存,将我的游戏从100米增加到200米。这就是我发布问题的原因。它不会从StreamingAssets复制到缓存。
WWW.LoadFromCacheOrDownload
不会从StreamingAssets复制到缓存?我的想法是:第一次,捆绑包不在缓存中,因此
WWW.LoadFromCacheOrDownload
将从StreamingAssets文件夹加载捆绑包并将其存储在缓存中。在我的Android设备上发生的情况是
WWW.LoadFromCacheOrDownload
将在从StreamingAssets文件夹加载捆绑包时创建一个缓存。来自logcat的日志如下:D/Unity(24031):jar:file:///data/app/cn.com.lingosoft-1.apk/!/assets/1-testlingotm_n_nolitu01_test.assetbundle缓存到/mnt/sdcard/Android/data/cn.com.lingosoft/files/UnityCache/Shared/6eff2dfde41f5b955b1b032ed1f42a330 eb0dfb09 D/Unity(24031):从缓存加载:jar:file:///data/app/cn.com.lingosoft-1.apk/!/资产/1-testlingotm_n_nolitu01_test.assetbundle@Roberto