Android Studio开发NDK项目有两种方式,一种是给现有项目添加NDK支持,另一种是直接创建支持NDK的项目;
此篇主要以案例形式讲解直接创建支持NDK的项目;
1. 创建新项目是勾选“Include C++ support”,然后下一步选择项目SDK和Activity模版;
2. 选择C++支持的版本
3. Android Studio创建项目打开后,设置NDK的路径;
File->Project Structure ->SDK Location ->设置NDK路径
4.然后运行行程成功,表示项目已经支持NDK;
5. 添加native函数
在MainActivity中添加native函数
public native int addNum(int num,int num2);
6. 使用javah自动生成MainActivity的头文件
7. 自动生成的cpp文件添加MainActivity头文件引用,并实现函数
#include <jni.h>
#include <string>
//引用头文件
#include "com_niubashaoye_demo_ndkdemo_MainActivity.h"
extern "C"
JNIEXPORT jstring JNICALL
Java_com_niubashaoye_demo_ndkdemo_MainActivity_stringFromJNI(
JNIEnv* env,
jobject /* this */) {
std::string hello = "Hello from C++";
return env->NewStringUTF(hello.c_str());
}
//自己添加的
JNIEXPORT jint JNICALL Java_com_niubashaoye_demo_ndkdemo_MainActivity_addNum(
JNIEnv* env,
jobject obj,jint num,jint num2) {
return num+num2;
}
8. MainActiviyt中调用定义的native函数
int num = addNum(12,45)
9. Build-ReBuild Project,如果成功就可以运行了;
注:自动添加NDK支持的是使用CMake来构建库文件;