Cocos2d-x Android Studio Logcat 截斷問題
問題描述
Android Studio Logcat 最大長度為1000,如果游戲中有超過此限制的log,log后半部會被自動丟棄。導致有的時候,測試好不容易復現(xiàn)了bug,急急忙忙連上手機,由于看不到關(guān)鍵數(shù)據(jù)而白忙一場。

問題梳理
關(guān)于Android Studio Logcat 截斷問題,許多博客已經(jīng)給出了Java層面的解決方案。然,Cocos2d-x 輸出到Android 是直接調(diào)用的log庫,故在C++層面做出修改。
CCConsole.cpp,如圖所示

解決方案
與Java層解決方案思想一致,手動截取長消息放到下一行輸出。

解決效果
我們看到被截斷的輸出已經(jīng)打印出來了。

總結(jié)
過去筆者認為Android studio 應(yīng)該給出接口修改logcat 長度,不過現(xiàn)在筆者有了新的看法。
如果log的長度超過此限制,是不是也就表明了,log太長了,或許message應(yīng)該拆分一下呢。
補充
后來,筆者在某面試中將這個改動當做是成績與面試官探討,然面試官認為,其實就是打個log,不是什么太嚴重的問題,沒必要改引擎,在腳本中封裝一層log函數(shù),針對于Android做一個log拆分就行了。筆者思考后覺得,也確實有道理。
注:最后說明一點,此文章不是抄襲,CSDN上那篇也是我寫的,我只是把自己的文章移植到b站了。
標簽: