代码之家  ›  专栏  ›  技术社区  ›  Данил Вагапов

为什么cocos2d动态库太重,如何禁用一些未使用的函数?

  •  0
  • Данил Вагапов  · 技术社区  · 7 年前

    我在cocos creator中为android编译了cocos2dx项目,但是编译之后我发现动态库的重量太重了。

    对于libcocos2的armeabi-v7a大小djs.so公司-12 MB。

    是否可以移除未使用的组件,或使用其他方法缩小尺寸?

    2 回复  |  直到 7 年前
        1
  •  1
  •   Yucel_K    7 年前

    如果我没记错的话,在释放模式下构建时,未使用的组件将自动移除。旧版本在自动删除某些组件方面有一些问题。它们可能已经在新版本中得到了解决。

    如果希望安全,可以从ccconfig.h手动禁用不需要的组件

    #define CC_USE_3D_PHYSICS 1 在ccconfig.h中,并将其更改为 #define CC_USE_3D_PHYSICS 0

        2
  •  1
  •   Quan Nguyen    7 年前

    您可以通过减少cocos2dx源代码构建中的代码来减少二进制文件的大小。 你应该看看 /cocos/base/ccConfig.

    例子:

    • CC_USE_PHYSICS :将physic集成到节点(使用 禁用此选项可以提高游戏速度
    • CC_USE_3D_PHYSICS :3D physic,我的游戏不需要3D
    • CC_ENABLE_BULLET_INTEGRATION
    • CC_USE_TIFF CC_USE_WEBP , CC_USE_WIC

    /cocos/Android.mk ,注释掉一些包含行:

    LOCAL_STATIC_LIBRARIES += cocos_tiff_static'
    LOCAL_STATIC_LIBRARIES += cocos_webp_static
    LOCAL_STATIC_LIBRARIES += bullet_static
    LOCAL_STATIC_LIBRARIES += cocosbuilder_static
    LOCAL_STATIC_LIBRARIES += cocos3d_static
    LOCAL_STATIC_LIBRARIES += bullet_static
    
    $(call import-module,tiff/prebuilt/android)
    $(call import-module,webp/prebuilt/android)
    $(call import-module,3d)
    $(call import-module,editor-support/cocosbuilder)
    

    这可以帮助您减少库的数量,然后您的.so文件可以减小大小。