curl、openssl、zlib for Android

curl、openssl、zlib 都是比较常用的 C++ 库,本文说明如何将这几个 C++ 库通过交叉编译,生成 Android 平台可用的静态库 .a 或者动态库 .so。

参考:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

https://github.com/shishuo365/libcurl-android

1. 配置 NDK。

下载 NDK-r13b,并且配置环境变量中的 NDK_ROOT。其他版本的 NDK 不一定不行,但是可能会遇到一些问题,血的教训表明,不同 NDK 版本还是有些特性的差异的,往往会导致一些一想不到的问题,所以,一个项目还是尽量能统一下 NDK 版本。

2. clone git 项目

cd 到一个文件夹,然后:

git clone https://github.com/shishuo365/libcurl-android.git

3. 下载 curl、openssl、zlib

原文是使用 git submodule 直接从 github 上下载的最新版本的源码。我们这里由于要编译指定版本的库,直接将源码文件夹放到 libcurl-android/jni 下即可,如图:

编译 Android 平台的 curl、openssl、zlib 库 随笔 第1张

4. 执行编译脚本

chmod 755 build_for_android.sh
./build_for_android.sh

之后经过漫长的等待,编译成功后,库会被拷贝到 jni/build/ 下,如图:

编译 Android 平台的 curl、openssl、zlib 库 随笔 第2张

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄