-
导入so
将编译生成的 OpenSSL 动态库文件(.so 文件)复制到你的 Android 项目的 libs 目录中
-
导入头文件
将编译生成的include文件夹导入到项目中
-
build.gradle添加配置
defaultConfig { ...... testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" externalNativeBuild { cmake { cppFlags "-std=c++11 -frtti -fexceptions" //目标平台,若需要更多平台的请自行配置 abiFilters 'arm64-v8a' } } } ...... sourceSets { main { jniLibs.srcDirs = ['src/main/jniLibs'] } } externalNativeBuild { cmake { path file('src/main/cpp/CMakeLists.txt') version '3.22.1' } }
-
修改CMakeLists.txt
cmake_minimum_required(VERSION 3.22.1) project("jnitest") set(JNI_LIBS_DIR ${CMAKE_SOURCES_DIR}/src/main/jniLibs) add_library( # Sets the name of the library. jnitest # Sets the library as a shared library. SHARED # Provides a relative path to your source file(s). native-lib.cpp) # 1、添加导入库,类似给每个库起个名字 add_library( openssl # 模块名称,随意 SHARED # 表示共享库 IMPORTED # 表示当前是导入库 ) add_library( ssl # 模块名称,随意 SHARED # 表示共享库 IMPORTED # 表示当前是导入库 ) # 2、将上一步声明的库名字,和具体的库(so文件)关联到一起 se t_target_properties( openssl # 库的名称 PROPERTIES IMPORTED_LOCATION # 表示当前库是导入的方式 ${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/libcrypto.so # so 动态库的具体路径 ) set _target_properties( ssl # 库的名称 PROPERTIES IMPORTED_LOCATION # 表示当前库是导入的方式 ${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}/libssl.so # so 动态库的具体路径 ) # 3 、如果第三方库有头文件的,为了在编码的时候可以有提示,使用下面的指令进行指定 # 指定头文件目录,指定后编译器会扫描这个目录,编码时可以进行提示 include_directories( ${CMAKE_SOURCE_DIR}/include) find_library( # Sets the name of the path variable. log-lib # Specifies the name of the NDK library that # you want CMake to locate. log) target_link_libraries(jnitest openssl ssl ${log-lib})
Android集成OpenSSL实现加解密-集成
菠萝加点糖2023-12-29 14:28
相关推荐
我命由我123453 分钟前
Android 开发 - 一些画板第三方库(DrawBoard、FingerPaintView、PaletteLib)程序员的世界你不懂7 分钟前
【Flask】测试平台开发,工具模块开发 第二十二篇Digitally2 小时前
如何在安卓手机/平板上找到下载文件?硬件学长森哥5 小时前
Android影像基础--cameraAPI2核心流程前行的小黑炭10 小时前
Android 协程的使用:结合一个环境噪音检查功能的例子来玩玩阿华的代码王国10 小时前
【Android】内外部存储的读写UnnamedOrange14 小时前
ROS2 配置 linter 的代码格式化工具为 clang-formatinmK114 小时前
蓝奏云官方版不好用?蓝云最后一版实测:轻量化 + 不限速(避更新坑) 蓝云、蓝奏云第三方安卓版、蓝云最后一版、蓝奏云无广告管理工具、安卓网盘轻量化 APPgiaoho14 小时前
Android 热点开发的相关api总结咖啡の猫15 小时前
Android开发-常用布局