You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Android Studio中集成外部编译的C/C++库(如OpenSSL)

将编译好的OpenSSL库集成到Android Studio C++项目

1. 整理编译产物

先把make install生成的文件按Android项目规范归类:

  • 头文件:从编译输出的include目录下,复制所有OpenSSL相关头文件到项目的app/src/main/cpp/include/openssl目录(需手动创建路径)。
  • 库文件:根据编译时的目标ABI(比如arm-linux-androideabi对应armeabi-v7a,aarch64-linux-android对应arm64-v8a),把lib目录下的libssl.a/libcrypto.a(静态库)或libssl.so/libcrypto.so(动态库)复制到app/src/main/jniLibs/<目标ABI>/目录,例:app/src/main/jniLibs/armeabi-v7a/。

2. 配置CMake构建(推荐方式)

在app模块的CMakeLists.txt中添加如下配置:

# 添加OpenSSL头文件搜索路径
include_directories(${CMAKE_SOURCE_DIR}/include)

# 导入静态库ssl
add_library(ssl STATIC IMPORTED)
set_target_properties(ssl PROPERTIES
    IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/libssl.a
)

# 导入静态库crypto
add_library(crypto STATIC IMPORTED)
set_target_properties(crypto PROPERTIES
    IMPORTED_LOCATION ${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/libcrypto.a
)

# 为你的Native库添加依赖链接
target_link_libraries(
    # 替换成你自己的Native库名称
    your_native_lib
    ssl
    crypto
    ${log-lib}
)

如果用动态库,只需把STATIC改成SHARED,确保库文件是.so格式即可。

3. 配置NDK Build(Android.mk方式)

若项目使用NDK Build,修改Android.mk:

LOCAL_PATH := $(call my-dir)

# 预编译ssl库
include $(CLEAR_VARS)
LOCAL_MODULE := ssl
LOCAL_SRC_FILES := ../jniLibs/$(TARGET_ARCH_ABI)/libssl.a
include $(PREBUILT_STATIC_LIBRARY)

# 预编译crypto库
include $(CLEAR_VARS)
LOCAL_MODULE := crypto
LOCAL_SRC_FILES := ../jniLibs/$(TARGET_ARCH_ABI)/libcrypto.a
include $(PREBUILT_STATIC_LIBRARY)

# 配置你的Native模块
include $(CLEAR_VARS)
LOCAL_MODULE := your_native_lib
LOCAL_SRC_FILES := your_source_files.cpp
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../cpp/include
LOCAL_STATIC_LIBRARIES += ssl crypto
include $(BUILD_SHARED_LIBRARY)

同时在Application.mk中指定支持的ABI,确保和编译OpenSSL时的目标一致:

APP_ABI := armeabi-v7a arm64-v8a

4. 同步并验证

同步Gradle项目后,在C++代码中引入头文件测试:

#include <openssl/ssl.h>

// 测试代码示例:初始化SSL库
void test_ssl_init() {
    SSL_library_init();
}

编译运行项目,确认没有头文件或链接错误即可。

内容的提问来源于stack exchange,提问作者spraff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 18:10:35