андроид — jmethodID был НЕДЕЙСТВИТЕЛЕН для метода с Kotlin

Я использую нативную библиотеку и имею исключение ниже, хотя метод существует. У меня есть функция nativeInit, которая также экспортируется в MapController, и она работает как положено. Однако метод nativeLoadScene вызывает ошибку.

JNI DETECTED ERROR IN APPLICATION: jmethodID was NULL
in call to CallObjectMethodV
from int com.demo.lib.MyController.nativeLoadScene(long, java.lang.String, java.lang.String[])

Методы JNI

JNIEXPORT jint JNICALL Java_com_demo_lib_MyController_nativeInit(JNIEnv *jniEnv, jobject obj, jobject tangramInstance, jobject assetManager) {
...
}

JNIEXPORT jint JNICALL Java_com_demo_lib_MyController_nativeLoadScene(JNIEnv* jniEnv, jobject obj, jlong mapPtr, jstring path, jobjectArray updateStrings) {
...
}

com.demo.lib.MyController.kt

companion object {
init {
System.loadLibrary("c++_shared")
}
}

// this works
external fun nativeInit(instance: MapController, assetManager: AssetManager?): Long

// this gives error
external fun nativeLoadScene(mapPtr: Long, path: String, updateStrings: Array<String?>?): Int

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]