多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 互聯網 > Cocos2d-x中使用第三方so庫

Cocos2d-x中使用第三方so庫

來源:程序員人生   發布時間:2014-11-10 08:26:18 閱讀次數:2976次

項目中如果使用到第3方的SDK,大多數是以.so動態同享庫的文件打包給我們使用,如何使用他們,見下面分析。

1、取得庫文件

假設我們得到的庫文件是libxxx.so(注:關于.so文件的命名方式,可百度)。在Jni目錄下新建prebuilt文件夾,把取得的庫文件
拷貝到該文件夾下。

2、使用庫文件

庫文件的使用需要修改Android.mk,在mk文件中加入以下代碼:
include $(CLEAR_VARS) LOCAL_MODULE := xxx LOCAL_SRC_FILES := prebuilt/libxxx.so include $(PREBUILT_SHARED_LIBRARY) LOCAL_SHARED_LIBRARIES := xxx

Java中調用

static { System.loadLibrary("XXX"); System.loadLibrary("cocos2dcpp"); }

3、編譯

編譯后會在libs/armeabi目錄下生產我們需要的libxxx.so文件,并編譯到APK中。

4、萬普例子

以下是萬普平臺Demo的mk文件,在這貼出來,讓大家體會以下使用方法。
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_MODULE := uninstall //第1步 LOCAL_SRC_FILES := prebuilt/libuninstall.so //第2步 include $(PREBUILT_SHARED_LIBRARY) //第3步 include $(CLEAR_VARS) $(call import-add-path,$(LOCAL_PATH)/../../cocos2d) $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/external) $(call import-add-path,$(LOCAL_PATH)/../../cocos2d/cocos) LOCAL_MODULE := cocos2dcpp_shared LOCAL_MODULE_FILENAME := libcocos2dcpp LOCAL_SRC_FILES := hellocpp/main.cpp ../../Classes/AppDelegate.cpp ../../Classes/HelloWorldScene.cpp ../../Classes/WapsAd.cpp LOCAL_C_INCLUDES := $(LOCAL_PATH)/../../Classes LOCAL_WHOLE_STATIC_LIBRARIES := cocos2dx_static LOCAL_WHOLE_STATIC_LIBRARIES += cocosdenshion_static LOCAL_WHOLE_STATIC_LIBRARIES := cocos_extension_static LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static # LOCAL_WHOLE_STATIC_LIBRARIES += box2d_static # LOCAL_WHOLE_STATIC_LIBRARIES += cocosbuilder_static # LOCAL_WHOLE_STATIC_LIBRARIES += spine_static # LOCAL_WHOLE_STATIC_LIBRARIES += cocostudio_static # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_network_static # LOCAL_WHOLE_STATIC_LIBRARIES += cocos_extension_static include $(BUILD_SHARED_LIBRARY) include $(CLEAR_VARS) LOCAL_SHARED_LIBRARIES := uninstall //第4步 $(call import-module,.) $(call import-module,audio/android) $(call import-module,Box2D) $(call import-module,editor-support/cocostudio) $(call import-module,extensions) # $(call import-module,Box2D) # $(call import-module,editor-support/cocosbuilder) # $(call import-module,editor-support/spine) # $(call import-module,editor-support/cocostudio) # $(call import-module,network) # $(call import-module,extensions)

注意事項
在主java文件中找到System.loadLibrary("cocos2dcpp");這句,然后在下面一樣添上你要加載的3方庫名稱便可。貌似默許不指明的話,會到系統路徑下去找so文件(沒有root或system的權限,無權對這個文件夾操作),這幾個so按道理是會裝到data/appname/lib目錄下的。

加載順序

這里有個問題要特別注意,就是這些動態庫的加載順序,1定要放到libcocos2dcpp前加載,否則在載入libcocos2dcpp時,會由于沒有之前這兩個依賴的動態庫而報錯,報的就是對應的動態庫木有載入




生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产精品夜色视频一区二区 | 免费视频网站在线看视频 | 精品爱爱 | 春意午夜影院 | 日本免费区 | 日本vs黑人hd | 最近中文字幕大全高清视频 | 欧美三级欧美一级 | 免费亚洲视频 | 亚洲国产天堂久久综合 | 极品美女国产精品免费一区 | 波多野结衣中文字幕2022免费 | 日本一区二区三区有限公司 | 亚洲线精品久久一区二区三区 | ffee性xxⅹ另类老妇hd | 亚洲 欧美 都市 自拍 在线 | 欧美zzzz| 美国一级特a黄 | 婷婷欧美 | 欧美一区二区三区久久综合 | jizz中国人 | 另类ts人妖一区二区三区 | 久久久精品3d动漫一区二区三区 | 日本特黄特色aa大片免费 | 久久久久这里只有精品 | 亚洲五月激情 | 中文字幕精品视频在线 | 欧美另类z0z000高清 | 欧美双渗透 | 波多野结衣在线观看视频 | 亚洲精品福利一区二区 | 亚洲成aⅴ人在线观看 | 亚洲日比视频 | 国产精品一页 | 国产欧美日韩综合在线一 | 国产欧美成人免费观看视频 | 依人在线 | 亚洲一区二区免费看 | 一级特黄色大片 | 欧美xxx性 | 尤物视频网站在线观看 |