使用httpClient后apk包增加了1.3M

通过移除不必要的库,优化Cocos2d-x3.3项目的HTTP客户端配置,成功减小APK包体积约1.1MB。本文详细介绍了如何在不使用HTTPS加密和数据加密功能的情况下,仅保留libcurl.a,并通过调整Android.mk文件来实现这一目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引擎:cocos2dx3.3 

IDE:vs2012

在cocos2dx3.3 项目中轻量使用httpClient后apk包增加了1.3M,我在项目中只使用http请求和接收,https加密的功能(libssl.a模块;SSL传输层对网络连接进行加密)和数据进行加密或数字签名没有用上(crypto模块)。因为我的http只需要libcurl.a, 所以我去掉无用的libcrypto.a和libssl.a即可。

但是编译时,发现libcurl.a 关联着libcrypto.a和libssl.a, 解决办法就是重新编译一个不关联libcrypto.a和libssl.a的libcurl.a。

以上提到的文件目录在:您的项目\cocos2d\external\curl\prebuilt\android下

我这提供两个不关联的libcurl.a,一个是android\x86的,一个是android\armeabi-v7a的。

相应的文件引入Android.mk也更改如下(#是注释掉的):

LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)
LOCAL_MODULE := cocos_curl_static
LOCAL_MODULE_FILENAME := curl
LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcurl.a
LOCAL_EXPORT_C_INCLUDES := $(LOCAL_PATH)/../../include/android
#LOCAL_STATIC_LIBRARIES += cocos_ssl_static
#LOCAL_STATIC_LIBRARIES += cocos_crypto_static
include $(PREBUILT_STATIC_LIBRARY)


#include $(CLEAR_VARS)
#
#LOCAL_MODULE := cocos_crypto_static
#LOCAL_MODULE_FILENAME := crypto
#LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libcrypto.a
#include $(PREBUILT_STATIC_LIBRARY)
#
#LOCAL_MODULE := cocos_ssl_static
#LOCAL_MODULE_FILENAME := ssl
#LOCAL_SRC_FILES := $(TARGET_ARCH_ABI)/libssl.a
#include $(PREBUILT_STATIC_LIBRARY)

重新编译就可以去掉libcrypto.a和libssl.a,包将减小1.1M左右。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值