前言
项目上jni里用了libjpeg-turbo-1.5.0,在优化项目时猜测这个库有点“老”了,就产生了编译最新版本的库的想法,然后下了虚拟机装了ubuntu,ubuntu上又装了各种工具,看文档BUILD.md也是各种懵逼,原来文档上说的命令都是要写到.sh脚本下的,然后在执行sh脚本。当你去寻找so库时会发现,so库生成在libjpeg-turbo-2.0.0文件夹下,而且文件夹下还有很多源码。而且每次执行一个脚本只能生成一个平台的so库,我又不知道如何一个脚本生成所有so库,感觉有点想暴走的冲动。
网上搜到可以用cmake在执行CMakeLists.txt编译jni,试了下,方便很多,记录一下。
具体实现
第一步:把libjpeg-turbo-2.0.0库放在jni文件夹下。
第二步:在app Module上右键选择第二项Link C++ Project With Gradle,然后选择CMakeLists.txt所在位置,点击ok。此时如果你没有安装cmake,AS会自动提示你安装cmake 。
第三步:在CMakeLists.txt中添加
#################################添加.so文件的输出位置###