[bugfix] Quick 在 Android 5.0下运行提示" cannot locate symbol "MD5_Init" referenced by "libcocos2dlua.so""

存在 bug 的版本

Quick 3.3 与 3.6

bug 将在 Quick-Cocos2dx-Community 3.6.1 中修正。

bug 描述

Quick提供的 proj.android_no_anysdk 工程,默认没启用 CURL 支持,由于 MD5 集成在 CURL 中,在 Android 5系统上会运行会报告下面的错误:

failed: dlopen failed: cannot locate symbol "MD5_Init" referenced by "libcocos2dlua.so"...

java.lang.UnsatisfiedLinkError: dlopen failed: cannot locate symbol "MD5_Init" referenced by "libcocos2dlua.so"...

解决方案

quick-src/extra/Android.mk中加入编译条件判断,当不启动 CURL 的时候,编译进 crypto 下的 md5.c 文件。

添加的代码如下:

ifeq ($(CC_USE_CURL),0)
LOCAL_SRC_FILES += \
    $(LOCAL_PATH)/crypto/md5/md5.c
endif

commit信息https://github.com/iTyran/Quick-Cocos2dx-Community/commit/fd3e6fd45e86c133d665ff1070f6cc87a5f2e1de

标签: android

?>