Могу ли я использовать интерфейсы JNI в моем коде C++ при использовании dart:ffi во флаттере?
Теперь я загружаю свой код на C++:
final DynamicLibrary nativeAddLib =
Platform.isAndroid
? DynamicLibrary.open("libnative_add.so")
: DynamicLibrary.process();
но JNI_OnLoad
в моем файле.cpp не выполняется:
JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM *vm, void *reserved) {
LOGI("JNI_OnLoad!");
}
1 ответ
Как сказал @Botje, кажется, что DynamicLibrary.open
не указывает JVM загружать библиотеку.
Напоследок добавлю еще .so
библиотека для инкапсуляции взаимодействия с JNI
, и загрузите его через System.loadLibrary
в java.