这篇文章主要关于studio2.3通过includeC/C++ 方式来集成NDK。
1、新建项目过程中主要注意这个地方
后面都是Next即可
最后一步两个都勾选吧
2、项目结构中主要关注这几个地方
1⃣️这里是生成so文件的地方,至于如何生成so文件,生成几个so文件,都是由后面的CMakeLists.txt文件来决定的
2⃣️ cpp目录以及CMakeLists.txt文件
如果在cpp目录上右键new没有出现所谓的C/C++ Source File,则说明你没有添加Ndk支持,可以在preferences->plugins->Android NDK Support,选中后点击OK重启Studio即可。
如果想知道如何创建cpp目录以及CMakeLists.txt文件,建议参考
创建原生源文件以及Make脚本
重点介绍一下CMakeLists.txt文件
NDK官网之CMake
此处借鉴某网络资源
正如图片所描述的,一个add_library即一个so文件,在一个add_library中添加多个方法,都会写到改so文件中。
3、让我们新建一个so文件来让java代码调用
在cpp目录中我们新建了com.lhj.messi.ndktest.NdkTest.h文件,以及liuhuajian-lib.cpp文件
在java目录下新建了NdkTest类,内部代码如下
CMakeLists.txt文件内容
项目rebuild之后,就在app->build->intermediates->cmake->debug中生成了so文件
运行项目结果如图
是不是跟.cpp文件中的输出代码一样
常见问题:
1.编译出错
主要是c或c++文件格式导致的