须知少年凌云志,曾许人间第一流。这篇文章主要讲述unity发布安卓lua路径不存在问题相关的知识,希望能为你提供帮助。
项目用的是xlua 采用自定义加载方式
使用File去读取路径下的文件,lua文件本来放在了StreamingAssets路径下
PC运行无问题,发布安卓后,居然提示路径不存在。
查了下资料后发现,File的这种操作方式无法在安卓平台去读取StreamingAssets路径下的文件,见鬼
这个路径只能用来AssetBundle.LoadFromFile来进行操作
资料参考:http://www.xuanyusong.com/archives/4033
如果真的想用File这种方式来读取的话,那么就不要把文件放在StreamingAssets路径下了
只能把lua放在Application.persistentDataPath;
这个路径下,我还是手动拷贝到安卓上的,确实可以做到再安卓上可以看见这个文件
(我在模拟器上面找到了这个路径,在小米手机上居然没有找到这个路径 = = )
这种可以制作手机上的自定义脚本游戏,感觉不错。
后来的解决方案是,把lua加上txt后缀,然后ab打包放在StreamingAssets路径下,就可以用AssetBundle.LoadFromFile来进行操作了
【代码】
1 void RequireLua(string name) { 2TextAsset luaCode = bundle.Load(name, typeof(TextAsset)) as TextAsset; 3lua.DoString(luaCode.text); 4 }
感觉不错,比我的要方便,之前用的大奥的那个lua框架,不是很好用,关键是没理解他的那种写法,那么我可以去借鉴上面代码的写法
【其他参考资料】
unity 在移动平台中,文件操作路径详解:http://blog.csdn.net/huang9012/article/details/44308743Unity中的Path对应各平台中的Path :http://www.manew.com/forum.php?mod=viewthread& tid=21404& extra=page%3D1%26filter%3Dtypeid%26typeid%3D143
优秀程序员的博客有哪些?:https://www.zhihu.com/question/19934502【可能会用到的再度优化】保留.lua后缀名,将lua文件打包成assetbundle:http://blog.csdn.net/musicseli/article/details/46415075
【检测更新,AB加密】Unity手游之路< 十二> 手游资源热更新策略探讨:http://blog.csdn.net/janeky/article/details/17666409
【Unity资源处理机制(Assets/WWW/AssetBundle/...)读取和加载资源方式详解】:http://blog.csdn.net/swj524152416/article/details/54022282
【unity发布安卓lua路径不存在问题】
推荐阅读
- Android Studio 入门级教程
- java eclipse 安卓环境配置
- Check failed: status == CUBLAS_STATUS_SUCCESS (11 vs. 0) CUBLAS_STATUS_MAPPING_ERROR
- Java JFileChooser
- Java JEditorPane
- Java JDesktopPane
- Java JColorChooser
- Java JComponent
- Java JComboBox实例