I am trying to access OkHttpClient.Builder
method using builder object but I am getting java.lang.NoSuchMethodError exception
in Android.
Here is my code
//okHttpClient
jclass okHttpClassBuilderClass =env->FindClass("okhttp3/OkHttpClient$Builder");
jmethodID initBuilder = env->GetMethodID(okHttpClassBuilderClass, "<init>", "()V");
jobject okHttpClassBuilder = env->NewObject(okHttpClassBuilderClass, initBuilder);
jclass timeUnitClass = env->FindClass("java/util/concurrent/TimeUnit");
jfieldID timeUnitClassMethod = env->GetStaticFieldID(timeUnitClass, "MILLISECONDS", "Ljava/util/concurrent/TimeUnit;");
jobject timeUnitObject = env->GetStaticObjectField(timeUnitClass,timeUnitClassMethod);
jlong timeout =5000;
jmethodID setConnTimeoutMethod = env->GetMethodID(okHttpClassBuilderClass, "connectTimeout", "(J;Ljava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;");
okHttpClassBuilder =env->CallObjectMethod(okHttpClassBuilder,setConnTimeoutMethod,timeout,timeUnitObject);
Here is error
JNI DETECTED ERROR IN APPLICATION: JNI CallObjectMethodV called with pending exception java.lang.NoSuchMethodError: no non-static method "Lokhttp3/OkHttpClient$Builder;.connectTimeout(J;Ljava/util/concurrent/TimeUnit;)Lokhttp3/OkHttpClient$Builder;"
In error I am getting error like JNI CallObjectMethodV
called but in code I am using CallObjectMethod
What I am missing here ?
Not an expert here, but javap suggests you have an additional ;