之前一直搞不懂, 为啥CMake里定义了一遍包含的so路径,在build.gradle里还要再用jniLibs再定义一遍, 做了个试验,简单记录一下结果:
- build.gradle 中的jniLibs.srcDirs 会将该目录下的so文件包括进包里, 如果CMake也生成了so文件,会一起打包进apk中. 也就是说无论有没有配置CMake, apk都会把jniLibs.srcDirs中的so文件打包.
- CMake 负责的是so 编译链接等工作.build.gradle 中的 jniLibs.srcDirs闭包 负责打包apk 的工作