Cocos2dx下使用JNI技術呼叫jar包裡面的一些方法遇到的一些問題及解決方案
情況一:JniHelper.h標頭檔案無法找到
方法:需要新增附加包含目錄即可解決問題。具體操作步驟如下:右擊專案---->c/c++---->常規---->附加包含目錄---->新增JniHelper.h所在的路徑即可。此時可能還會遇到找不到jni.h和jni_md.h的問題,解決方案為在%JAVA_HOME%/include/下找到 jni.h,在%JAVA_HOME%/include/win32/下找到jni_md.h,複製到“Visual Studio目錄/VC/include/”下,即可解決問題。
情況二:報類似的錯。用那個函式,總是報錯error LNK2019: 無法解析的外部符號 "__declspec(dllimport) public: static bool __cdecl cocos2d::JniHelper::getStaticMethodInfo(struct cocos2d::JniMethodInfo_ &,char const *,char const *,char const *)" (__imp_?getStaticMethodInfo@JniHelper@cocos2d@@SA_NAAUJniMethodInfo_@2@PBD11@Z),該符號在函式 "public: static class cocos2d::CCScene * __cdecl HelloWorld::scene(void)" (?scene@HelloWorld@@SAPAVCCScene@cocos2d@@XZ) 中被引用
方法:#if (CC_TARGET_PLATFORM == CC_PLATFORM_ANDROID)
******************
JNI的程式碼
***************
#endif
一定要加上平臺判斷語句。否則會出現以下bug。
情況三:提示在CCPlatformDefine.h檔案中log.h: no such file or directory,即log.h找不到。
方法: 1.修改Android.mk檔案配置,新增如下語句 LOCAL_LDLIBS += -L$(SYSROOT)/usr/lib -llog 2.修改CCPlatformDefine.h檔案 註釋掉#include "log.h",新增#include "ALog.h"。 3.新建ALog.h檔案,寫入以下內容,並將其放置於與CCPlatformDefine.h所在的同一目錄下。
最後想說的是:編寫供c++呼叫的java方法,如果是第三方jar裡面的方法的話,建議用Handler去觸發,讓其處於在UI執行緒中執行,否則可能出錯。
Cocos新手學習必備原始碼啊,大量本人寫的的原始碼(有些商業的淘寶店木有放出來,可以私聊),ARPG,動作射擊,闖關益智,可學習可運營 個人淘寶店,適合新手,我還可以做技術支援,幫助換皮,帶新手等https://shop141567464.taobao.com/?spm=a313o.7775905.1998679131.d0011.pzUIU4
不懂的可以加我的QQ群: 239982941(cocos2d-x 3.x學習群)歡迎你的到來哦,看了博文給點腳印唄,謝謝啦~~
相關文章
- 使用 Docker 包 laradock 佈署低版本 PHP 開發環境遇到的一些小問題及解決方法DockerPHP開發環境
- VMware下安裝Ubuntu遇到的問題及解決方案Ubuntu
- 使用javamail發信過程中的一些問題及解決方法JavaAI
- SVN 遇到的一些錯誤解決方案
- 在SQLServer處理中的一些問題及解決方法SQLServer
- TCP 粘包 - 拆包問題及解決方案TCP
- Kettle 在應用中遇到的一些問題和解決方法
- 【API知識】ElementUI一些問題的解決方案APIUI
- 遇到問題的解決方法
- 學習 Ubuntu 14/16 下的 Laravel LNMP 線上環境自動部署指令碼遇到的一些問題及解決方案 1UbuntuLaravelLNMP指令碼
- workerman開發過程中遇到的一些常見的問題與解決方法
- 關於input的一些問題解決方法分享
- windows安裝tomcat遇到問題及解決方案WindowsTomcat
- 玩Deno遇到問題的解決方案
- 一些常用jar包作用JAR
- 面試中遇到的一些問題面試
- 小程式遇到的一些問題
- 手機端頁面在專案中遇到的一些問題及解決辦法
- JS中toFixed()方法的問題及解決方案JS
- UG程式設計常遇到的問題及解決方法程式設計
- 使用nodeAPI時遇到非同步問題的解決方法API非同步
- POI-HSSF的一些疑難問題及解決方式
- 今天遇到的問題與解決方法
- Docker遇到的一些問題和感想Docker
- 關於介面的一些問題
- Android匯入三方SDK時遇到的一些異常及解決方案Android
- MAC 安裝 VMAF 遇到的問題及解決方法記錄Mac
- 使用ruby過程中遇到安裝gem失敗的一些通用解決方案
- C#操作時區轉換時遇到的一些問題和解決方法分享C#
- weblogic+axis jar包衝突問題的另一個解決方法WebJAR
- 談“技術公司跨部門間溝通”問題及解決方案
- Spring ApplicationListener使用方法及二次呼叫問題解決SpringAPP
- shell指令碼呼叫java jar包 的問題總結指令碼JavaJAR
- CKEditor使用中遇到的問題解決
- 解決在使用Amoeba遇到的問題
- Jar包衝突解決方案調研JAR
- Androidstudio中jar包重複或jar包裡的類重複問題AndroidJAR
- docker開荒hyperf遇到的一些問題Docker