三、android编译cmake工程
现在我们需要编译我们自己的程序,我们自己的程序中使用了openssl的函数,这样就形成了一个库引用库的过程,这个通了就基本都通了。
1.cmake版本问题
如果你使用的cmake版本在3.6.0以上就没有这个问题,如果你使用的低于这个版本当你想要编译的cmake工程时会报错
CMake Error at /home/renz/android/AndroidWorkSpace/NDK_Tools/android-ndk-r21/build/cmake/android.toolchain.cmake:35 (cmake_minimum_required): CMake 3.6.0 or higher is required. You are running version 3.5.1Call Stack (most recent call first): /usr/share/cmake-3.5/Modules/CMakeDetermineSystem.cmake:98 (include) CMakeLists.txt:6 (project)
这时你需要更新你的cmake工具
https://cmake.org/download/
选择Binary distributions:可以直接下载生成好的工具,不需要自己编译
如果觉得下载速度慢可以尝试http://www.cmake.org/files下载
我下载cmake-3.17.0-Linux-x86_64.tar.gz
解压tar xvf cmake-3.17.0-Linux-x86_64.tar.gz
cmake路径为/home/renz/android/cmake-3.17.0-Linux-x86_64/bin
renz@media-Lenovo-Product:~/android/cmake-3.17.0-Linux-x86_64/bin$ /home/renz/android/cmake-3.17.0-Linux-x86_64/bin/cmake -versioncmake version 3.17.0CMake suite maintained and supported by Kitware (kitware.com/cmake).
有了新版本的cmake之后就可以开始编译我们的mylib-sample工程了。
mylib-sample源码下载https://download.csdn.net/download/andylauren/12292340
github源码下载https://github.com/RTplay/android-ndk-sample
需要修改build.sh脚本中的CMAKE_BIN变量为自己的cmake
需要修改CMakeLists.txt中OPENSSL_INCLUDE_PATH,OPENSSL_LIB_PATH分别是openssl的头文件路径和库路径
2.工程内容
就是封装了MD5接口。输入字符串,输出MD5字符串
3.编译工程
./build.sh
会在工程同级目录有lib文件夹,其中有多个文件夹arm64-v8a armeabi-v7a x86 x86_64
这时我们就拥有了需要的openssl和mylib-sample库。
参考博文
Android下openssl编译和使用(一)
https://blog.csdn.net/zoujin6649/article/details/89891720
Android下openssl编译和使用(二)(验证ok,但是需要修改)
https://blog.csdn.net/zoujin6649/article/details/89949176
使用clang编译openssl1.1.1d
https://blog.csdn.net/u011077027/article/details/102713175
Ubuntu16.04升级cmake到3.11.3
https://www.wandouip.com/t5i137471/
更多相关文章
- android操作文件
- 修改Android(安卓)Media Scanner的扫描路径
- Android(安卓)Studio安装过程中出现Failed to install Intel HAX
- Android(安卓)5.0 documentation CHM 版本 下载
- Android(安卓)Eclipse导入源码时对自己新增的class文件提示"XXX
- android studio导入项目遇到的坑
- Android(安卓)Annotations环境搭建(Android(安卓)Studio)
- 使用Android(安卓)隐藏API和内部 API
- Android使用FFmpeg 解码H264并播放(一)