Unity3d导出andriod版和ios版遇到的问题总结。

来源:互联网 发布:java数组实现二叉树 编辑:程序博客网 时间:2024/05/26 20:23

最近做的手游项目,在unity导出andriod和ios这一块遇到一些问题,现在总结一下:


Android

1.andriod 版本号为22的sdk导出apk时会报错,解决方法就是使用旧版(版本号为21)sdk或是升级Unity,Unity在4.15版本已经修复这个bug。

2.导出时应注意,如果有引用到android的外接包时,应该将Unity环境设置中的Bundle Identifier改为和android包名一样。

3.如果在有引用andriod包的情况下,导出时如果默认屏幕设置为横屏,会出现解锁后不会自动返回游戏中,导出为竖屏则不会出现这个问题。

解决方法是在引用的andriod包里的AndroidManifest.xml的activity中加入:

android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"这句话,具体哪些不用加的还待测试。
暂时知道就是如果配置了android:configChanges="keyboardHidden|orientation"这个属性,当我们横竖屏切换的时候会直接调用onCreate方法中的onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个属性的话就会重新调用onCreate方法了。  

4.导出android项目时,unity设置的Minimun api level应该选择你本地android sdk中已下载的sdk版本。

5.导出andriod版本时,游戏会有一个休眠时间,如果在一段时间内不去触摸屏幕就会变暗。解决方法是在脚本中加入Screen.sleepTimeout = 0.0f。


IOS:

 1.将项目包发到mac机上会出现脚本的编码格式不对的问题,导致乱码。解决方法是方法是将脚本的编码格式转换成(Unicode(UTF-8带签名),代码页65001)。