Android openssl3.0.x编译和使用

Android openssl3.0.x编译和使用

1、前提准备

编译需要在linux环境下进行,笔者使用的是vmware虚拟机安装ubuntu 20.04进行编译,虚拟机的安装和ubuntu的安装这里就不详细说明了,可自行百度。

vmware官网下载地址

ubuntu 20.04下载地址

2、编译环境

openssl编译需要提前安装所需要的环境,这一点在openssl官网文档中有说明。Android编译说明openssl/NOTES-ANDROID.md at master · openssl/openssl · GitHub,下面直接给出需要安装的环境

sudo apt update
sudo apt upgrade
sudo apt install make
sudo apt install build-essential
sudo apt install perl

3、开始编译

在编译前还需要下载Android NDK和openssl,下载然后解压。

wget https://www.openssl.org/source/openssl-3.0.5.tar.gz
tar -zxvf openssl-3.0.5.tar.gz
wget https://dl.google.com/android/repository/android-ndk-r22b-linux-x86_64.zip
unzip android-ndk-r22b-linux-x86_64.zip

编译openssl,此前笔者使用的是DNK-r20b编译的,开始在Android Studio上使用的是DNK 21版本进行开发,打包没出现问题,但后面升级到NDK 22+后出现无法打包的情况。 根据提示编译需要添加 -fPIC ,在此记录一下。

export ANDROID_NDK_ROOT=/home/wgc/Android/android-ndk-r22b
PATH=$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin:$ANDROID_NDK_ROOT/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:$PATH
./Configure android-arm64 -D__ANDROID_API__=21 -static no-shared no-tests -fPIC --prefix=${OUTPUT_PATH}
make && make install

4、一键编译

以上只是编译一个架构的静态库,如果需要其他架构还需重复编译,不够便捷,这里提供一个一键编译的版本。新建一个 build_openssl3.x.sh的文件,将以下内容复制到文件中,然后用命令执行 sh build_openssl3.x.sh即可。

#!/bin/bash -e

sudo apt update
sudo apt upgrade
sudo apt install make
sudo apt install build-essential
sudo apt install perl

#编译修改下面四个属性开始
OPENSSL_VERSION=3.0.5
#NDK23及以后下载和解压需要修改,注意下面注释掉的内容和说明
NDK_VERSION=android-ndk-r22b
ANDROID_TARGET_API=21
#需要编译的架构  如果执行报数组错误  请使用 sudo dpkg-reconfigure dash  出现画面选择 否
ANDROID_ABI_ARRAY=(armeabi armeabi-v7a arm64-v8a x86 x86_64)  #所有架构(armeabi armeabi-v7a arm64-v8a x86 x86_64 mips mips64)
#编译修改下面四个属性结束


WORK_PATH=$(cd "$(dirname "$0")";pwd)
ANDROID_NDK_PATH=${WORK_PATH}/${NDK_VERSION}
OPENSSL_SOURCES_PATH=${WORK_PATH}/openssl-${OPENSSL_VERSION}

if [ ! -e openssl-${OPENSSL_VERSION}.tar.gz ]
 then
    echo "openssl 压缩包不存在"
    wget https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz
fi


if [ ! -d openssl-${OPENSSL_VERSION} ]
 then
    echo "openssl 目录不存在"
    tar -zxvf openssl-${OPENSSL_VERSION}.tar.gz
fi

if 
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
编译 OpenSSL 3.0 需要以下步骤: 1. 下载源码:打开 OpenSSL 官方网站,找到 OpenSSL 3.0 的下载页面,下载适合您操作系统的源码。将源码文件解压缩到您选择的目录。 2. 配置编译选项:打开命令行终端或控制台,进入源码目录。运行 `./config` 命令来配置编译选项。您可以根据需要添加参数,例如指定安装目录、开启特定功能等。 3. 编译源码:配置完成后,运行 `make` 命令开始编译。这一过程可能需要一些时间,具体取决于您的机器性能。 4. 安装 OpenSSL编译成功后,运行 `make install` 命令来安装 OpenSSL 到系统中。这将把编译生成的库文件和可执行文件拷贝到指定的安装目录。 5. 配置环境变量:安装完成后,需要将 OpenSSL 的库路径添加到系统的环境变量中。具体方法取决于您所使用的操作系统。例如,在 Linux 上,您可以编辑 `.bashrc` 或 `.bash_profile` 文件,在其中添加类似以下内容的行:`export LD_LIBRARY_PATH=/path/to/openssl/lib:$LD_LIBRARY_PATH`。 6. 测试安装:在终端运行 `openssl version` 命令来检查 OpenSSL 是否安装成功。如果显示正确的版本信息,则说明编译和安装过程完成。 注意:编译 OpenSSL 3.0 可能需要一定的编译工具、依赖库和开发包。请根据您的操作系统和实际需求,确保已正确安装这些必要的软件和库。此外,如果您遇到任何错误或问题,请参考 OpenSSL 官方文档或社区支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值