flutter dart调用so库文件中的方法:
dart与so通信,首先就是加载so得到句柄,然后倒出方法,再转换成dart调用的方法,这个过程中主要的有双方类型转换
import 'dart:ffi';
typedef NativeFunctionType = Int32 Function(Int32);
typedef DartFunctionType = int Function(int);
void main() {
// 加载动态链接库
final DynamicLibrary lib = DynamicLibrary.open("path/to/your/library.so");
// 查找函数
final Pointer<NativeFunction<NativeFunctionType>> funcPtr =
lib.lookup<NativeFunctionType>("your_function_name");
// 将函数指针转换为 Dart 可调用的函数
final DartFunctionType func = funcPtr.asFunction<DartFunctionType>();
// 调用函数
int result = func(42);
print(result);
}