欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

mac编译android环境openssl最新版本

程序员文章站 2024-03-18 12:38:40
...

参考文章1:https://blog.csdn.net/zoujin6649/article/details/89891720
参考文章2:https://blog.csdn.net/zoujin6649/article/details/89949176

1.创建一个并进入编译目录

touch opensslbuild
cd opensslbuild

2.下载openssl源码、解压源码
(https://www.openssl.org/source/openssl-1.1.1d.tar.gz)这个路径是可以自己换的,
请自行更换

curl -LO https://www.openssl.org/source/openssl-1.1.1d.tar.gz
tar -zxvf openssl-1.1.1d.tar.gz

3.使用脚本编译openssl

(一)创建脚本/修改权限

touch openssl-Newbuild.sh
chmod a+x openssl-Newbuild.sh

(二)修改并保存openssl-Newbuild.sh脚本

#!/bin/bash

sslPath=填写你的openssl源码解压后的路径(openssl-1.1.1d)

NDKPath=填写你的androidndk路径(android-ndk-r14b)

# armeabi 
cd $sslPath
make clean
export ARCH=armeabi
rm -rf ./output-$ARCH
mkdir ./output-$ARCH
 
export ANDROID_NDK=$NDKPath
export PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin:$PATH
./Configure android-arm -D__ANDROID_API__=23 --prefix=$sslPath/output-$ARCH
 
make && make install

# #armeabi-v7a  
cd $sslPath
make clean
export ARCH=armeabi-v7a
rm -rf ./output-$ARCH
mkdir ./output-$ARCH
 
export ANDROID_NDK=$NDKPath
export PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/bin:$PATH
./Configure android-arm -D__ANDROID_API__=23 --prefix=$sslPath/output-$ARCH
 
make && make install

# #arm64-v8a
cd $sslPath
make clean
export ARCH=arm64-v8a
rm -rf ./output-$ARCH
mkdir ./output-$ARCH
 
export ANDROID_NDK=$NDKPath
export PATH=$ANDROID_NDK/toolchains/aarch64-linux-android-4.9/prebuilt/darwin-x86_64/bin:$PATH
./Configure android-arm64 -D__ANDROID_API__=23 --prefix=$sslPath/output-$ARCH
 
make && make install

(三)运行脚本

./openssl-Newbuild.sh

(四)执行完成后将生成的.a静态库拷贝一份出来,防止下次编译被覆盖
mac编译android环境openssl最新版本

4.安卓工程中测试是否编译成功
(一)下载工程文件:https://github.com/Claire6649/openssl_test
(二)解压到当前目录
mac编译android环境openssl最新版本
(三)拷贝对应的.a库到项目的文件夹中做替换
注意替换的时候,arm和arm对应 arm64 和arm64对应 armv7和armv7对应

项目中的库位置
mac编译android环境openssl最新版本
编译出的库的位置
mac编译android环境openssl最新版本
把项目运行起来,完成
mac编译android环境openssl最新版本