1. 需求背景
本人在开发Android项目时,有些so需要使用CMake在每次编译应用时都做编译,但某些so又不想每次都编译(或者这个so是第三方提供的),但是,打包应用时,这两种so都需要包含进去。
2. 解决办法
创建两个目录,分别为jni1和jni2。在jni1目录下,存放cpp源码,编写CMake脚本;在jni2目录下存放已经编译好的so。结构如下:
在build.gardle中,添加
sourceSets.main.jniLibs.srcDirs = ['./jni1/','./jni2/']
即可。