Unity工程 打包到Android平台文件读取路径
当我们在Unity中开发了一个应用 然后想把他打包到android平台下,这时如果你的应用没有读取什么本地文件,一般来说是没有什么问题的,但是如果有本地xml或Json文件的读取,这时没有做路径的处理,那么打包后的apk就会出现问题,下来住要是分享如何处理android路径。
1. 第一种 路径加载文件Resources,当你在Unity工程的Asset路径下创建一个Resources文件夹,然后将一些资源文件放到该文件夹下,那么可以用脚本来直接加载Resources文件夹下的资源。
Resources.Load("文件名字,注:不包括文件后缀名");这样Load方法需要传入一个string类型的参数,然后返回Resources文件夹下的对应物体的GameObject对象。要注意的是用这种方法可以在PC端和Android加载资源,但是不能修改其中的资源,也就是说只可以读不可以写。所以一般都放一些预设体,当从PC端打包到android端的时候,这个文件夹中的资源会把没有用的东西都自己舍去只留下项目中真正使用的部分,相当于做了一定的优化。
2.第二种 直接放在项目根路径下来保存文件,把XML文件直接创建到Asset或者Asset目录下的其他文件夹中,在PC平台中可以使用Application.dataPath+路径 直接方法对应文件,但是在移动平台这样是不能访问的。Application.dataPath返回的其实就是Asset的根目录。
3.第三种 在Asset目录下创建StreamingAssets文件夹,这个文件夹中存放的资源在PC端可以实现可读可写操作,但是在移动端只能只能读,不能写,当我们通关后想把一些信息存起来是不可以的。
string filepath = Application.dataPath +"/StreamingAssets"+"/my.xml";
4.第四种persistentDataPath 该路径下的文件是存放在手机沙盒当中的,在手机端是可读可写的,当我们想要用一个文件来存放每关的信息时,这个方式是可以的,但是由于这个文件我们无法再开发中直接创建,所以在项目的文件数据管理模块中,应用代码来生成这个文件比如说XML、Json这样生成的文件可以在移动端自由读写。
菜鸟一名 希望路过的大神多指教