由于ANDROID_SYSROOT: /root/android/android-ndk-r16b/platforms/android-18/arch-arm目录下没有usr/include头文件目录,这会在后面openssl编译中报错,简单处理办法是:
cd /root/android/android-ndk-r16b/sysroot/usr/include
cp -ar arm-linux-androideabi/asm .
cd /root/android/android-ndk-r16b/platforms/android-18/arch-arm/usr
cp -ar /root/android/android-ndk-r16b/sysroot/usr/include .
配置编译openssl
./config no-shared no-ssl2 no-ssl3 no-comp no-hw no-engine --openssldir=/root/ssl/openssl-1.1.0f-arm32-out --prefix=/root/ssl/openssl-1.1.0f-arm32-out
#后面避免编译连接出现无法找到"stdio"的兼容错误,修改Makefile,在CFLAG和CFLAG_Q加上“-D__ANDROID_API__=18”
make depend
make
make install
编译安装后在/root/ssl/openssl-1.1.0f-arm32-out目录中就会出现:
bin 存放openssl命令
include 头文件
lib 库文件
share 文档一类的