环境:
ubuntu 20.04
ndk r21
openssl-1.1.1f
下载OpenSSL源码:
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1f.tar.gz
解压源码:
tar -zxvf openssl-1.1.1f.tar.gz
在/etc/profile文件中添加NDK环境变量
export ANDROID_NDK_HOME=/home/aiwen/Android/android-ndk-r21
export PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_HOME/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH
然后source /etc/profile生效环境变量。
进入openssl-1.1.1f目录,创建输出目录:
mkdir output
cd output
mkdir x86 x86_64 arm arm64
执行Config生成MakeFile文件:
./Configure android-x86 -D__ANDROID_API__=23 --prefix=/home/openssl-android/openssl-1.1.1f/output/x86
可选的平台有:
android-arm armeabi-v7a arm64-v8a android-arm64 android-x86 android-x86_64
若想编译静态库,可以
在config时添加 no-shared 参数。
或者
在Makefile文件中的CFLAG中添加 -static (还有说添加 -static-libgcc)