赞
踩
编译环境mac(其实都差不多)
export ANDROID_NDK_HOME=ndk目录
PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin:$PATH
#配置命令
./Configure 目标库 -D__ANDROID_API__=安卓Api版本
#编译命令
make
编译的库文件在openssl根目录下可以找到
脚本文件
- #!/bin/bash
- set -e
- set -x
-
- export ANDROID_NDK_HOME=/Users/songwen/Library/Android/sdk/ndk/23.1.7779620
- # openssl根目录
- OPENSSL_DIR=./openssl
-
-
- # 配置环境变量
- PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/darwin-x86_64/bin:$PATH
-
-
- # 设置Android API
- ANDROID_API=31
-
- cd ${OPENSSL_DIR}
-
- # 设置编译的目标库
- # 目标库的选项有 android-arm, android-arm64, android-mips, android-mip64, android-x86, android-x86_64
- # 循环编译多个目标库
- list="android-arm android-arm64 android-x86 android-x86_64"
- for architecture in $list
- do
- make clean
- ./Configure ${architecture} -D__ANDROID_API__=$ANDROID_API
- # 构建
- make -j4
- # 拷贝到输出目录
- OUTPUT_LIB=../output/lib/${architecture}
- mkdir -p $OUTPUT_LIB
- cp libcrypto.so $OUTPUT_LIB
- cp libcrypto.a $OUTPUT_LIB
- cp libssl.so $OUTPUT_LIB
- cp libssl.a $OUTPUT_LIB
- done
-
- OUTPUT_INCLUDE=../output/include
- mkdir -p $OUTPUT_INCLUDE
- cp -RL include/openssl $OUTPUT_INCLUDE
根据情况自行修改 ANDROID_NDK_HOME、OPENSSL_DIR
构建完成后在目录下会有output目录
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。