關於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庫