【Flutter跨平台插件开发】如何实现kotlin跟C++的相互调用
kotlin 调 c++
在 Kotlin 中,可以使用 JNI (Java Native Interface) 来调用 C++ 代码
调用步骤:
- 创建 C++ 文件并实现函数。
// example.cpp
#include <jni.h>
extern "C" JNIEXPORT jstring JNICALL
Java_com_example_MyClass_myFunction(JNIEnv* env, jobject /* this */) {
return env->NewStringUTF("Hello from C++");
}
- 在 Kotlin 中声明需要调用的 native 函数并加载 native 库。
class MyClass {
external fun myFunction(): String
companion object {
init {
System.loadLibrary("example") // example是库的名字
}
}
}
- 调用示例
val myClass = MyClass()
println(myClass.myFunction()) // 输出 "Hello from C++"
Flutter 插件项目的例子
在 Flutter 插件中引用已有的 C++ 源码需要以下步骤:
- 首先,在 Flutter 插件的 android 目录下创建一个 CMakeLists.txt 文件,这个文件会告诉 CMake 如何编译你的 C++ 代码。