// 在 新建的android studio项目中 勾选 include C++ suport
// 新建一个java文件, 定义好java所需要的C/C++接口, 定义如下:
public class Hello {
static{
System.loadLibrary("产生的库so文件的名字");
}
native String p(String str);
}
// 然后 编译一下 rebuild
// 之后在Terminal 进入CMD命令行
输入 cd "自己的Module名字"/build/intermediates/classes/debug
再输入 javah -jni 包名 + 类名
然后在 debug目录下 会生成 一个 .h 文件 拷贝 到 cpp的目录
在 cpp 目录下 创建 c++文件
#include "拷贝过来的.h文件" ""代表 会从 当前 文件夹里面 查找 .h 文件
将.h 文件中的 方法 拷贝到 这个目录下 例如 JNIEXPORT jstring JNICALL Java_com_swm_myapplication_Helo_p
(JNIEnv *, jobject, jstring);
然后 编辑 在C++代码 里处理的逻辑
在 CMakeLists.txt 配置 所产生的 .so 文件 名称
add_library( # Sets the name of the library.
Hello // 产生的 库 .so 文件的名字 在 System.loadLibrary("产生的库so文件的名字"); 需要用到
# Sets the library as a shared library.
SHARED
# Provides a relative path to your source file(s).
# Associated headers in the same location as their source
# file are automatically included.
src/main/cpp/Hello.cpp ) // C++ 文件的 地址
然后 在用到的地方 把创建的 java文件 new 出来
Hello hello= new Hello();
hello. //调用相应的方法