項目用到了cocos2d-js 3.6和ProtoBuf.js,可是打包成apk時運行時老是報錯(evaluatedOK == JS_FALSE),沒有具體的文件和行號報錯信息。node
只能一個一個文件排查,最終終於定位到是ProtoBuf.min.js的問題。iOS和各個瀏覽器均沒有問題,只有安卓的apk有問題,估計是spidermonkey的android版本的問題。android
通常出現(evaluatedOK == JS_FALSE)是js文件的語法有問題,可是檢查了一遍也沒有發現語法錯誤。瀏覽器
沒辦法,只好把代碼格式化後一塊一塊的排查,安卓的build一次很慢啊= =ide
最後定位到語法錯誤的地方爲判斷Node.js環境的地方:ui
Util.IS_NODE = false;
try { // There is no reliable way to detect node.js as an environment, so our // best bet is to feature-detect what we actually need. Util.IS_NODE = typeof require === 'function' && typeof require("fs").readFileSync === 'function' && typeof require("path").resolve === 'function'; } catch (e) {}
貌似也沒有語法錯誤,不過判斷node-js環境也沒有什麼用,只能把try-catch塊都註釋了,而後跑就OK了。lua