JNI Вызов не инициируется Android класс - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть файл библиотеки Aar, его необходимо связать с приложением Android, которое выполняет асинхронные вызовы этой библиотеки с помощью JNI Call. Эти JNI-вызовы должны вызывать соответствующие функции в файле Class.

Android Асинхронные вызовы -> c ++ JNI -> library (aar)

Здесь в файле aar есть JNI-прием и вызовы в файл Android Class. Из JNI нам нужно передать контекст в файл Android Class.

Элемент управления приходит в JNIClass_Initialize (), где передается контекст и jenv_obj.
Отсюда не удалось найти класс, так как этот класс не был начат

Как запустить файл класса из интерфейса JNI.

Ниже приведен код:

Получение

int JNIClass_Initialize(
        void *context
        , void *jenv_obj
) { 

//Not able to initiate or invoke Class functions.

  jclass cls = (jniEnvVal.env)->FindClass("ae/info/TestReader");

 //Here it is crashing - As not getting the class 
  jmethodID initFun1= (jniEnvVal.env)->GetStaticMethodID(cls, "Init_func", "(Landroid/content/Context;)I");


  jint retVal = (jniEnvVal.env)->CallStaticIntMethod(cls, initFun1= ,context);
}

public class TestReader{

    Init_func(Context cnt) {
    //Process it
    }
}

Спасибо за любую помощь.

...