ndk 开发基础一 Android调用c源码
注意:ndk 通信协议:
注意:ndk 通信标准:Java_包名_类名_方法名
// Created by Jasmine on 2020/9/14.
#include <jni.h>
JNIEXPORT jstring JNICALL
Java_com_example_tongxiaodemo_activity_WatchDogActivity_watchdog(JNIEnv *env, jobject thiz) {
return (*env)->NewStringUTF(env, "C");
}
一.ndk环境配置
1.下载必要文件: NDK ; CMake
2.配置ndk路径
二.cpp(jni)文件配置
1.watchdog.c
// Created by Jasmine on 2020/9/14.
#include <jni.h>
JNIEXPORT jstring JNICALL
Java_com_example_tongxiaodemo_activity_WatchDogActivity_watchdog(JNIEnv *env, jobject thiz) {
return (*env)->NewStringUTF(env, "C");
}
2.CMakeLists.txt
# 设置构建native library所需的CMake最低版本。
cmake_minimum_required(VERSION 3.4.1)
#创建一个库(多次调用add_library即可创建多个库)
add_library( # 设置库的名称
demo-lib
# 将库设置为共享库(即so文件)
SHARED
# 指定源文件的相对路径
demo.cpp
)
add_library( # 设置库的名称
watchdog-lib
# 将库设置为共享库(即so文件)
SHARED
# 指定源文件的相对路径
watchdog.c
)
三.配置gradle(app)文件
// ndk配置 externalNativeBuild { cmake { path file('src/main/jni/CMakeLists.txt') } }
四:android 代码调用c源文件