编译 Android 平台的 curl、openssl、zlib 库
curl、openssl、zlib for Android
curl、openssl、zlib 都是比较常用的 C++ 库,本文说明如何将这几个 C++ 库通过交叉编译,生成 Android 平台可用的静态库 .a 或者动态库 .so。
参考:
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 下即可,如图:
4. 执行编译脚本
chmod 755 build_for_android.sh
./build_for_android.sh
之后经过漫长的等待,编译成功后,库会被拷贝到 jni/build/ 下,如图: