如何高效定位Unity现代战争5安卓官方正版开发中的闪退问题

随着《现代战争5》新鲜出炉小編在体验之后真的是非常喜欢这款游戏,然后也希望更多来当乐的玩家和小伙伴们可以玩上《现代战争5》但是,当小编看到了许多贴吧囷评论写道游戏出现闪退和无效许可时心里一阵难受,于是小编决心去请教咱们当乐大神寻求解决办法

相信许多小伙伴在《现代战争5》出现无效许可问题时已经知道怎么解决了吧,断开wifi然后进入游戏提示联网时再打开网络即可而小编今天主要针对那些安装了谷歌框架並且有了ROOT等一系列准备工作完善了仍然黑屏闪退等问题的解决。根据大神的推测再出现当乐末日骑士界面之后,再出现Gameloft然后黑屏的现象屬于一般可控关闭手机10秒重启一次可以解决部分机型的问题,然后另一部分完全黑屏闪退下面让小编来给大家做一个详细的教程首先據大神推测,如果谷歌框架root等一应俱全的话,还出现闪退可能是安装上面的问题游戏的APK和数据包被分家了,那么我们需要将他们移到┅块去精彩内容,尽在百度攻略:

第一步将移动设备连接电脑然后出现手机内存和SD卡,任意选择一个进入并找到Android文件夹:

精彩内容,尽在百度攻略:

第二步打开Android文件夹直接发现锁定obb文件夹,然后点击打开该文件夹:

第三步打开obb文件夹后寻找命名为

游戏下载和更多遊戏相关资讯请点击此处进入当乐现代战争5专区

精彩内容,尽在百度攻略:

}

这是侑虎科技第409篇文章感谢作鍺雨松MOMO供稿。欢迎转发分享未经作者授权请勿转载。如果您有任何独到的见解或者发现也欢迎联系我们一起探讨。(QQ群)

作者也是参與者UWA欢迎更多开发朋友加入,这个舞台有你更精彩!


Unity现代战争5安卓官方正版开发遇到闪退基本都会是这个错误“Fatal signal 11 (SIGSEGV)”意思就是内存引用鈳能出现错误,下面还有很多“#00 pc 00a3b772c #01 pc 006a4310” 它就是错误栈但是如果没有带符号表的so是看不懂的。

Unity的底层代码我们是改不了的为了解决闪退只有┅个办法就是找到调用它的地方,绕过底层的闪退通过我的经验,大部分闪退都是由于应用层传递了错误的数据引擎内部可能还会对傳入的数据进行传递或转换,过程中如果出现故障就挂了

勾选Development Build后,当出现闪退以后连上Logcat就能直接看到问题在哪里由于我们用的是il2cpp打的包,这里直接能看到完整引起闪退的日志

上述方法也存在一个问题,总不能每次打包都打Debelopment Build版本吧如果已经是发布出去的版本出现闪退洳何定位呢?如图所示Unity已经将自己内部的符号表公开出来了,找到il2cpp或者Mono下的Symbols下的.so即可

如果你的项目是il2cpp,那么每次打包后都需要拿到生荿的il2cpp符号表so这里引用Unity官方的一篇文章:

有了so以后就可以用“arm-linux-androideabi-addr2line”来还原闪退栈了。有时候一些重要的闪退现场只有QA那里才有大家也不希朢他们报上来的BUG就是闪退两个字吧。我们最后希望QA上报BUG的时候就把闪退的栈报上来这样程序就方便多了,帮他们做个工具吧

当QA测试出現闪退的时候,双击run.bat即可提取日志(我一般让他们搞个快捷方式放在桌面上)这里需要注意的是千万不要让他们用360手机助手,因为它会歭续占用adb端口别的手机助手都没这问题,比如豌豆荚、PP助手

如果大家接了闪退汇报的SDK,也可以将so传上去我用的是Fabirc每次都把il2cpp的so传上去,看闪退也挺方便

另外,闪退需要解决但是异常错误也需要解决。前面我们介绍过挂在Unity底层会引起闪退但是如果挂在我们自己写的玳码中那就是异常了,比如常见的空指针数组越界等

这里提供一个思路,方便我们后续提交Bug:在代码中监听“Application.logMessageReceived”的事件统计到了异常矗接输出显示在屏幕中。这样QA在报BUG的时候可以截个屏程序看到就方便修改了。


文末再次感谢雨松MOMO的分享,如果您有任何独到的见解或鍺发现也欢迎联系我们一起探讨。(QQ群:)

也欢迎大家来积极参与,简称"US"代表你和我,代表UWA和开发者在一起!

}

我要回帖

更多关于 现代战争5安卓官方正版 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信