C++ 我可以在我的C+中使用JNI接口吗+;在颤振中使用dart:ffi时的代码?
现在我的C++代码加载到:C++ 我可以在我的C+中使用JNI接口吗+;在颤振中使用dart:ffi时的代码?,c++,flutter,dart,ffi,flutter-desktop,C++,Flutter,Dart,Ffi,Flutter Desktop,现在我的C++代码加载到: final DynamicLibrary nativeAddLib = Platform.isAndroid ? DynamicLibrary.open("libnative_add.so") : DynamicLibrary.process(); 但是我的.cpp文件中的JNI\u OnLoad未执行: JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) { LOGI(
final DynamicLibrary nativeAddLib =
Platform.isAndroid
? DynamicLibrary.open("libnative_add.so")
: DynamicLibrary.process();
但是我的.cpp文件中的JNI\u OnLoad
未执行:
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
LOGI("JNI_OnLoad!");
}
正如@Botje所说,
DynamicLibrary.open
似乎没有指示JVM加载库
最后,我添加了一个额外的
。
库来封装与JNI
的交互,并通过java中的System.loadLibrary
加载它。只有当JVM被指示加载DLL时才会自动执行JNI\u OnLoad
。您似乎是从Dart加载DLL。您似乎是从Dart加载DLL
是的,这是真的