gpt4 book ai didi

android - 为 Android 构建 OpenSSL

转载 作者:搜寻专家 更新时间:2023-11-01 08:52:56 25 4
gpt4 key购买 nike

我尝试按照 this answer 中的描述为 arm Android 构建 OpenSSL .但是当我使用“共享”标志构建 OpenSSL 时,它会生成 4 个文件:libcrypto.so.1.0.0、libssl.so.1.0.0 和 2 个符号链接(symbolic link):libcrypto.so 和 libssl.so

在 Android.mk 文件中,我将这些库链接到项目:

include $(CLEAR_VARS)
LOCAL_MODULE := openssl-ssl
LOCAL_SRC_FILES := libs/libssl.so
include $(PREBUILT_SHARED_LIBRARY)

include $(CLEAR_VARS)
LOCAL_MODULE := openssl-crypto
LOCAL_SRC_FILES := libs/libcrypto.so
include $(PREBUILT_SHARED_LIBRARY)

但是当我尝试运行我的应用程序 java.lang.UnsatisfiedLinkError 时出现消息“无法加载库 libssl.so.1.0.0...”

我尝试删除链接并将 libssl.so.1.0.0 和 libcrypto.so.1.0.0 分别重命名为 libssl.so 和 libcrypto.so,但没有帮助。

如何在我的项目中使用 OpenSSL?

最佳答案

对我有用的是:编辑 openssl Makefile.shared 并替换

-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX

-soname=$$SHLIB

这样库的内部名称被更改为 libcrypto.so 和 libssl.so 而不是 libcrypto.so.1.0.0

清理并重新编译 openssl 和您的应用。

关于android - 为 Android 构建 OpenSSL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21474906/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com