unity+tolua 64位android崩溃排查过程记录

最近项目上线googleplay,需要打64位包,由于unity l2cpp打包比mono慢很多,因此前期开发过程中都是用的mono打的32位包进行测试.结果64位包出来后发生各种莫名其妙的卡死,尤其是重载场景以后,几乎必然出现

连上androidstudio查询日志,发现卡死的时候触发了bugly,难道是bugly的bug导致的?

于是决定暂时去掉bugly,结果发现原来会触发卡死的地方换成直接闪退了,看来bugly还真是有些影响.

但为什么会闪退呢?继续找问题,去掉bugly后会得到一些没什么分析价值的崩溃堆栈信息:
在这里插入图片描述
这些信息对排查问题并没有多少帮助.

通过搜索后发现有同学遇到类似的问题:

unity android64位闪退:
https://www.jianshu.com/p/9fa3e747a3b1

根据上文的提示,再去仔细看了看崩溃日志,并没找到libtolua相关的信息,难道是其它问题?

在没有更多头绪的前提下,我到tolua_runtime的github上去看了看,惊喜的发现在19年8月8日的时候,作者commit了一次提交:

修复arm64问题
@topameng
topameng committed on 8 Aug
https://github.com/topameng/tolua_runtime

喜出望外!
我用的是6月的版本,看来还真有可能是tolua运行库导致的.
于是马上动手重新编译libtolua runtime运行库,打包,测试,一切ok!
自此解决了这个问题.

在排查问题的过程中,顺便研究了bugly死锁有可能导致卡死的问题:

http://www.cocoachina.com/articles/20383

发布了15 篇原创文章 · 获赞 35 · 访问量 2万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章