关于Cmake很多人应该都听说过,Android在使用JNI和底层的C/C++打交道的时候必须要使用到Cmake,今天就来简单的解析下Cmake。
#在android studio升级后,好像是在3.0版本的样子就不用我们手动去配置C/C++的编译环境了,如下图
这里我们只用勾选C++ support就可以了,当然如果你想使用kotlin的支持勾选下也是一样的
点击 Next完成后是这样
明显能看到有CMakeLists.txt的存在,但是这里我们自己配置一下,我们新建一个空白项目什么都没有
这里需要新建一个CMake,注意名字一定要一模一样,大小写都不要错CMakeLists.txt, 然后我们再就需要去新建cpp文件了,也就是源代码文件
#include <jni.h>
#include <string>
extern "C" JNIEXPORT jstring
JNICALL
Java_com_example_administrator_mycmakedemo_MainActivity_stringFromJNI(
JNIEnv *env,
jobject /* this */) {
std::string hello = "Hello from myview C++";
return env->NewStringUTF(hello.c_str());
}
app下的build.gradle新增加配置如下
ndk 后面跟的是.so库的实用的架构,jni程序在编译的时候会生成 .so库