Openssl 1.1.1w编译
-
下载ndk,ndk下载地址:https://developer.android.com/ndk/downloads?hl=zh-cn#older-downloads,这边下载:android-ndk-r21e-linux-x86_64.zip和https://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2;
-
下载openssl源码,源码下载地址:https://www.openssl.org/source/old/1.1.1/index.html;
-
使用ndk-r21e编译(参考NOTES.ANDROID),具体命令如下所示:
export PATH=/home/share/android/android-ndk-r21e/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH export ANDROID_NDK_HOME=/home/share/android/android-ndk-r21e ./Configure android-arm -D__ANDROID_API__=17 --prefix=/home/share/chen/openssl make && make install
-
使用ndk-r9d编译,但编译不过,可能需要去修改脚本,未去验证,具体命令如下:
export ANDROID_NDK_HOME=/opt/android/android-ndk-r9d/ PATH=$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin:$PATH ./Configure android-arm -D__ANDROID_API__=17 --prefix=/home/share/chen/openssl Configuring OpenSSL version 1.1.1n (0x101010efL) for android-arm Using os-specific seed configuration $ANDROID_NDK_HOME=/opt/android/android-ndk-r10e/ is invalid at (eval 6) line 37. // 会报上述错误,报错在文件:./Configurations/15-android.conf,主要是"die "\$ANDROID_NDK_HOME=$ndk is invalid";",需要去修改相关配置才能去编译,具体没去研究
Openssl 1.1.0l编译
-
由于项目中使用了android-ndk-r9d,那么openssl 1.1.0l也使用该版本编译,下载该版本ndk:https://dl.google.com/android/ndk/android-ndk-r9d-linux-x86_64.tar.bz2;
-
下载openssl源码,源码下载地址:https://www.openssl.org/source/old/1.1.0/index.html;
-
官方WIKI有写如何为android编译openssl,编译可参考:https://wiki.openssl.org/index.php/Android
-
下载android编译环境设置脚本,具体下载如下:https://wiki.openssl.org/images/7/70/Setenv-android.sh,修改脚本内容,主要修改如下内容:
ANDROID_NDK_ROOT="/opt/android/android-ndk-r9d" # 新增 _ANDROID_NDK="/opt/android/android-ndk-r9d" _ANDROID_EABI="arm-linux-androideabi-4.8"
-
执行该脚本,具体如下所示:
source ../Setenv-android.sh # 根据具体路径去修改
-
配置、编译及安装openssl,具体命令如下所示:
./config --openssldir=/home/share/chen/openssl/$ANDROID_API --prefix=/home/share/chen/openssl/$ANDROID_API make && make install