欢迎光临散文网 会员登陆 & 注册

为 Android 编译 openssl 的注意事项

2022-06-09 21:48 作者:BDZNH  | 我要投稿

以下载链接 https://www.openssl.org/source/openssl-1.1.1o.tar.gz 为例

下载解压之后,查看根目录的 NOTES.ANDROID,其中有

这里就是最直接的编译方式了。但是这样编译之后,会有一个坑

编译时尝试链接 libssl.so ,实际上会链接到 libssl.so.1.1 ,但是当你尝试将 libssl.so.1.1 集成到 Android studio 工程内时,会发现 libssl.so.1.1 这种命名格式so,Android studio 是不会自动将其打包到 apk 内的,即使将 libssl.so.1.1 改名为 libssl.so 可以集成到 apk ,app运行时仍然会去找 libssl.so.1.1。因为 so 内部有其文件名信息

对于Android来说,我们更希望编译之后 so 本身名字就叫 libssl.so。
具体做法是解压 openssl-1.1.1o.tar.gz 之后,修改 15-android.conf
大概 193 行

这样可以编译出来不带版本后缀的 libssl.so 和 libcrypto.so

可以参考下边的懒人脚本来自行编译

使用时,将 NDK_HOME传入,例如,脚本保存为 build.sh,则执行命令

想为 Android (arm/x86/x86_64)编译时,修改脚本末尾的 buildopenssl 注释

为 Android 编译 openssl 的注意事项的评论 (共 条)

分享到微博请遵守国家法律