概述
本故事起源于学习一下 jni 开发,就顺便试试用这个,网上搜到的各种 jni 开发方法都有 .h 头文件,.cpp 文件,还要写 .mk 之类的文件,但是用了这个,发现有个 cmake 的方法,就试试了,顺便记录以下
过程
- 跟其它开发过程一样,建立一个新项目,只是这个会有一些是否支持 c++ 的选项,记得看看,要选中,这样项目建立完成以后就有了相关的 native 开发对应的东西,目录结果参考附件图片
- 可以看到在 app 目录下有个
CMakeList.txt
,其中便写编译 c++ 的规则 - 在 app/src/main/cpp 目录下会有相关的 cpp 文件
- 在 app/build.gradle 文件下会有一段这样的配置
android {
...
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
}
表明 native 的编译是使用 cmake 的方式来编译
- 直接编译整个工程就可以了,会直接生成 *.so
等相关的库,不需要以前的通过 javah ...
等相观命令生成一堆的东西 <