在安卓下打包cocos2d-js 3.6項目with ProtoBuf.js

項目用到了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

相關文章
相關標籤/搜索