安卓编译OpenSSL源码。

编译OpenSSL是用ndk来编译源码的方式来生成应用程序和动态库,这种官方源码支持也比较便利。

 

1.下载源码解压。

注意不要下载GitHub里面的源码,最新的3.0配置安卓编译的时候无法配置成功的,有兴趣可以去研究3.0配置不成功的原因,这里采用最简单的降版本处理。

wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1a.tar.gz

tar -zxvf openssl-1.1.1a.tar.gz

 

2.配置编译。

cd openssl-1.1.1a

配置方面参考源码里面的说明文档(NOTES.ANDROID),一下是参考了里面的例子结合现有的ndk制作的命令。

 

export ANDROID_NDK=/work/huangriwang/android-ndk-r10e

PATH=$ANDROID_NDK/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin:$PATH

用的是RK3288,这里配置用android-arm api版本是21,可以根据实际情况调整。

./Configure android-arm -D__ANDROID_API__=21

配置正常如下图

 

make -j8

 

编译没有报什么错就会生成相应的库和应用程序。

 

 

 

3.拷贝执行验证。

通过adb工具的命令把动态库放到/system/lib里面。把openssl程序放到/vendor/opt/webbox/bin里面即可。

 

 

命令参考:

adb root

adb remount

adb shell

adb push e:\libssl.so.1.1 /vendor/opt/webbox/bin

adb push e:\libcrypto.so.1.1 /vendor/opt/webbox/bin/

adb push e:\openssl /vendor/opt/webbox/bin

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐