现在我们需要编译我们自己的程序,我们自己的程序中使用了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/
 

更多相关文章

  1. android操作文件
  2. 修改Android(安卓)Media Scanner的扫描路径
  3. Android(安卓)Studio安装过程中出现Failed to install Intel HAX
  4. Android(安卓)5.0 documentation CHM 版本 下载
  5. Android(安卓)Eclipse导入源码时对自己新增的class文件提示"XXX
  6. android studio导入项目遇到的坑
  7. Android(安卓)Annotations环境搭建(Android(安卓)Studio)
  8. 使用Android(安卓)隐藏API和内部 API
  9. Android使用FFmpeg 解码H264并播放(一)

随机推荐

  1. Android(安卓)L还未正式到来 Android(安
  2. Android(安卓)实用工具Hierarchy Viewer
  3. 谈谈怎么最快学好android
  4. 也谈Android的学习和利用Android来赚钱
  5. QQ音乐Android客户端Web页面通用性能优化
  6. Android(安卓)文件管理方法
  7. Android(安卓)应用程序基础(Application F
  8. Android(安卓)文档的阅读顺序![转]
  9. android 新浪微博客户端的表情功能的实现
  10. Android(安卓)的缓存机制 Lrucache