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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章