使用cocos2d-x c++ Android靜態庫

來源:互聯網
上載者:User

標籤:

在用cocos2d-x做Android開發時,每次clean後都會需要再次編譯coco2d-x的庫,十分耗時。

這裡給出一個直接使用靜態庫而不用每次都編譯源碼的方法:

1\ 首先找到一個cocos2d-x的測試專案(如cpp_test),進行一次編譯。完成後,在proj.android/obj/local目錄下可以找到中間過程中產生的所有靜態庫檔案。

把這些靜態庫檔案(帶上ABI目錄)複製出來,放到一個新的目錄(如:cclib)中。

2\ 在cclib中創Android.mk檔案,檔案內容見代碼附1.

3\ 定義環境變數 CC_SRC_ROOT 為cocos2d源碼目錄(即cocos與external的上層目錄)

在編譯你的項目時依賴cclib即可,不需要依賴cocos2d目錄下的Android.mk

 

附cclib/Android.mk內容:

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE := cc_staticLOCAL_MODULE_FILENAME := libcc LOCAL_EXPORT_C_INCLUDES := $(CC_SRC_ROOT)/cocos                     $(CC_SRC_ROOT)/cocos/.                     $(CC_SRC_ROOT)/cocos/..                     $(CC_SRC_ROOT)/cocos/platform                     $(CC_SRC_ROOT)/cocos/base                     $(CC_SRC_ROOT)/external                     $(CC_SRC_ROOT)/external/tinyxml2                     $(CC_SRC_ROOT)/external/unzip                     $(CC_SRC_ROOT)/external/chipmunk/include/chipmunk                     $(CC_SRC_ROOT)/external/xxhash                     $(CC_SRC_ROOT)/external/nslog                     $(CC_SRC_ROOT)/external/poly2tri                     $(CC_SRC_ROOT)/external/poly2tri/common                     $(CC_SRC_ROOT)/external/poly2tri/sweep     $(CC_SRC_ROOT)/cocos/platform/android     $(CC_SRC_ROOT)/cocos/audio/include     $(CC_SRC_ROOT)/external/curl/include/android     $(CC_SRC_ROOT)/external/websockets/include/android     $(CC_SRC_ROOT)/cocos/editor-support     $(CC_SRC_ROOT)/external/Box2D     $(CC_SRC_ROOT)/external/flatbuffers     $(CC_SRC_ROOT)/external LOCAL_CFLAGS   :=  -DUSE_FILE32API -fexceptionsLOCAL_CPPFLAGS := -Wno-deprecated-declarations -Wno-extern-c-compatLOCAL_EXPORT_CFLAGS   := -DUSE_FILE32API -fexceptionsLOCAL_EXPORT_CPPFLAGS := -Wno-deprecated-declarations -Wno-extern-c-compatLOCAL_EXPORT_LDLIBS := -lGLESv2                        -llog                        -landroid        -lGLESv1_CM                        -lEGL        -lOpenSLES# define the macro to compile through support/zip_support/ioapi.cLOCAL_WHOLE_STATIC_LIBRARIES := cocos_freetype2_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_png_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_jpeg_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_tiff_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_webp_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_chipmunk_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_zlib_staticLOCAL_WHOLE_STATIC_LIBRARIES += cocos_curl_staticLOCAL_WHOLE_STATIC_LIBRARIES += websockets_staticLOCAL_WHOLE_STATIC_LIBRARIES += flatbuffers_staticLOCAL_WHOLE_STATIC_LIBRARIES += libaudioengine_staticLOCAL_WHOLE_STATIC_LIBRARIES += libbox2d_staticLOCAL_WHOLE_STATIC_LIBRARIES += libcocos2d_staticLOCAL_WHOLE_STATIC_LIBRARIES += libcocos2dandroid_staticLOCAL_WHOLE_STATIC_LIBRARIES += libcocos2dxinternal_staticLOCAL_WHOLE_STATIC_LIBRARIES += libcocos3d_staticLOCAL_WHOLE_STATIC_LIBRARIES += libcocosbuilder_staticLOCAL_WHOLE_STATIC_LIBRARIES += libcocosdenshion_staticLOCAL_WHOLE_STATIC_LIBRARIES += libcocostudio_staticLOCAL_WHOLE_STATIC_LIBRARIES += libextension_staticLOCAL_WHOLE_STATIC_LIBRARIES += libnetwork_staticLOCAL_WHOLE_STATIC_LIBRARIES += libspine_staticLOCAL_WHOLE_STATIC_LIBRARIES += libui_staticinclude $(BUILD_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := flatbuffers_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/flatbuffers.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libaudioengine_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libaudioengine.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libbox2d_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libbox2d.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libcocos2d_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcocos2d.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libcocos2dandroid_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcocos2dandroid.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libcocos2dxinternal_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcocos2dxinternal.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libcocos3d_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcocos3d.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libcocosbuilder_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcocosbuilder.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libcocosdenshion_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcocosdenshion.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libcocostudio_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcocostudio.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libcpufeatures_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcpufeatures.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libextension_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libextension.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libnetwork_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libnetwork.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libspine_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libspine.ainclude $(PREBUILT_STATIC_LIBRARY)include $(CLEAR_VARS)LOCAL_MODULE := libui_staticLOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libui.ainclude $(PREBUILT_STATIC_LIBRARY)#==============================================================$(call import-module,freetype2/prebuilt/android)$(call import-module,png/prebuilt/android)$(call import-module,zlib/prebuilt/android)$(call import-module,jpeg/prebuilt/android)$(call import-module,tiff/prebuilt/android)$(call import-module,webp/prebuilt/android)$(call import-module,chipmunk/prebuilt/android)$(call import-module,curl/prebuilt/android)$(call import-module,websockets/prebuilt/android)

 

使用cocos2d-x c++ Android靜態庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.