JNI OKHTTP内类方法与Nosuchmethoderror
我正在尝试使用构建器对象访问okhttpclient.builder
方法,但是我在Android中获得了java.lang.lang.lang.lang.lang.lang.nosuchmethoderror exception
。
这是我的代码
//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);
,这里是错误
jni在应用程序中检测到的错误:jni callObjectMethodv呼叫带有例外java.lang.lang.nosuchmethoderror:无静态方法“ lokhttp3/okhttpclient $ builder $ builder; .connecttime; .connecttime out(j; ljava/ljava/ljava/ljava/fitil/concorrent/concorrent/concurrent/concurrent/concurrent/timeunit; $ Builder;“
在错误中,我会遇到错误,例如jni callObjectMethodv
nath命名,但在代码中,我正在使用 callobjectmethod
我在此处缺少什么?
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 ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里不是专家,但Javap建议您还有其他。
Not an expert here, but javap suggests you have an additional ;