1. 程式人生 > >cocos2dx在android5.0+中傳遞表情符號NewStringUTF報錯問題

cocos2dx在android5.0+中傳遞表情符號NewStringUTF報錯問題

  專案裡面需要從js傳遞表情符號到java來做android推送的需求。測試的時候發現在android5.02系統上NewStringUTF會報錯。除錯的時候會閃退,執行的時候表情變成亂碼。具體是在frameworks/js-bindings/cocos2d-x/cocos/scripting/js-bindings/manual/platform/android/CCJavascriptJavaBridge.cpp檔案中。

網上搜了下,沒有詳細的解決方案,但是提供了思路,就是不傳string型別,而是傳遞byte陣列型別,再到java端把byte陣列轉換成string型別。jni是支援byte陣列的,用符號 [B 來表示。但是CCJavascriptJavaBridge中不支援。所以需要在CCJavascriptJavaBridge中修改一下。

這樣就可以使用byte陣列了,在js端這樣使用

在java端可以這樣用