Unity安卓下的IO流读写操作与dll打包问题
先清楚,安卓平台下 要进行IO操作 必须明确你的路径是什么!!
a.一般来说 如果是二进制文件,excel等 或者自定义格式的资源等会存放在StreamingAssets下。
b.如果只是对二进制文件,excel等 或者自定义格式的资源进行读取的话,读取的时候只需要确定你操作的路径是 Application.streamingAssetsPath + "/"+"你的资源全称"
C.如果要在安卓平台下进行读写操作,那么你必须对Application.streamingAssetsPath + "/"+"你的资源全称"进行WWW读取新版本中使用:
UnityWebRequest.Get(Application.streamingAssetsPath + "/" + "你的资源全称")
XX.SendWebRequest();
然后进行复制操作
File.WriteAllBytes(Application.persistentDataPath + "/" + path[i], results); //手机端文件复制到可读写路径
复制成功后 你就可以愉快的进行正常的IO操作啦 记住操作的路径是persistentDataPath下
2.刚刚上面提到了读写excel,Unity自身是不支持读写的,那么要用到Epplus库,具体的可以看这个博主:https://www.bilibili.com/video/BV1Yt411F7CB?p=5
3.针对上面Dll出现的问题总结一下:
a.2019版本及以上 解决不打包dll问题
在新版的Unity(2019之后版本)的安装目录Editor\Data\MonoBleedingEdge\lib\mono\unityjit下找到
I18N.dll和I18N.West.dll文件;复制并粘贴至Unity工程的Assets文件夹下;
b.直接添加dll
在新版的Unity(2019之后版本)的安装目录Editor\Data\MonoBleedingEdge\lib\mono\unityjit下找到
I18N.dll 和I18N.West.dll文件;复制并粘贴至已经打包好的XX_Data/Managed文件夹内。