unity打包安卓写数据问题

249 阅读1分钟

之前我们觉得读写不加密的数据可以使用StreamingAssets (path = Application.dataPath + "/StreamingAssets";),但是打包安卓的时候,这部分代码是不起作用的.不能写入文件,所以这个算是一个坑.

所以需要使用另一种读写的方式:Application.persistentDataPath

此属性返回一个持久化数据存储目录的路径,可以在此路径下存储一些持久化的数据文件。这个路径可读、可写,但是只能在程序运行时才能读写操作,不能提前将数据放入这个路径。在IOS上是应用程序的沙盒,可以被iCloud自动备份,可以通过同步推送一类的助手直接取出文件;在Android上的位置是根据Project Setting里设置的Write Access路径,可以设置是程序沙盒还是sdcard,注意:如果在Android设置保存在沙盒中,那么就必须root以后才能用电脑取出文件,因此建议写入sdcard里。一般情况下,建议将获得的文件保存在这个路径下,例如可以从StreamingAsset中读取的二进制文件或者从AssetBundle读取的文件写入PersistentDatapath。