我将尝试在我的安卓项目中使用 mbedtls。它使用CMake,这很方便,似乎最简单的方法是保持原样,并添加一个包含JNI包装器的额外C文件。
我已将源代码下载到
我已将源代码下载到
./app/mbedtls
并将其添加到./app/build.gradle
:defaultConfig {
...
externalNativeBuild {
cmake {
arguments "-DENABLE_TESTING=OFF" // Testing requires Perl which I don't have.
}
}
}
...
externalNativeBuild {
cmake {
path "mbedtls/CMakeLists.txt"
}
}
这样做后,Gradle构建成功(有点惊人!),尽管它实际上并没有生成任何libx.a文件。
我还创建了一个文件./app/CMakeLists.txt
,其中包含以下内容:
cmake_minimum_required(VERSION 3.4.1)
add_library(mbedtls_jni SHARED src/main/cpp/mbedtls_jni.cpp)
我已经创建了那个文件。但是如何将它与mbedtls链接成一个库呢?最好不要修改mbedtls中的任何内容。