0x01 新建项目
1、选择Native C++
2、填写项目名称、项目位置等相关信息
3、选择C++版本信息,默认即可
0x02 项目源码结构介绍
1、编译后生成的so文件名称
static { System.loadLibrary("a2022ndk"); }
2、声明的so层的函数
public native String stringFromJNI();
3、在Java层调用
tv.setText(stringFromJNI());
4、在C层的代码实现
#include <jni.h> #include <string> extern "C" JNIEXPORT jstring JNICALL Java_com_example_a2022ndk_MainActivity_stringFromJNI( JNIEnv* env,//与java层交互必须添加这两个参数 jobject /* this */) { std::string hello = "公众号:编程者吧";//C++中的字符串 return env->NewStringUTF(hello.c_str());//将c++字符串转换成C字符串,然后通过NewStringUTF转换为java层的字符串 }
0x04 运行效果