我想为 android 的 openssl 库创建包装模块,它将使用大多数主要功能来保证安全。
我知道有人说他们已经做到了并在 github 上发布了他们的工作,但出于安全原因我们无法使用它。
我将 openssl 库编译到 android 并添加到 CMakeList.txt,如下所述: https ://developer.android.com/studio/projects/configure-cmake#add-other-library
我所做的步骤: 1.我从这里下载: https: //www.openssl.org/source/ version 1.1.1c
2.编译成功:
export ANDROID_NDK_HOME=/home/user/Android/Sdk/ndk-bundle
PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
./Configure android-arm64
make
Run Code Online (Sandbox Code Playgroud)
4.这就是 CMakeList 的样子:
cmake_minimum_required(VERSION 3.4.1)
set(CMAKE_VERBOSE_MAKEFILE ON)
add_library(openssl-wrapper-lib
SHARED
openssl-c-wrapper.cpp)
#===v===v===v===v===v===v===openssl-include===v===v===v===v===v===v===
add_library(
crypto
SHARED
IMPORTED
)
set_target_properties(
crypto
PROPERTIES IMPORTED_LOCATION
${CMAKE_CURRENT_SOURCE_DIR}/openssl-1.1.1c/libcrypto.so
)
include_directories(openssl-1.1.1c/include)
#===^===^===^===^===^===^===openssl-include===^===^===^===^===^===^===
find_library(log-lib
log)
target_link_libraries( # Specifies the target library.
openssl-wrapper-lib
crypto
${log-lib})
Run Code Online (Sandbox Code Playgroud)
我构建时的错误是这样的:
Error while executing process /home/user/Android/Sdk/cmake/3.6.4111459/bin/cmake with arguments {--build /home/user/AndroidStudioProjects/EncryptionModule/app/.externalNativeBuild/cmake/debug/x86_64 --target openssl-wrapper-lib}
[1/1] Linking …Run Code Online (Sandbox Code Playgroud)