当前位置: 首页 > 知识库问答 >
问题:

AbstractMethodError:抽象方法“OKIO.Timeout OKHTTP3.Call.Timeout()”

袁帅
2023-03-14

来自android studio的日志如下:

V/StudioProfiler:Transformed class:OKHttp3/OKHttpClient W/XXXXX:当前dex文件中有多个类。如果没有对该类应用任何转换,则对该类调用RetransformClasses可能会失败!D/NetworkSecurityConfig:未指定网络安全配置,使用平台默认w/gov.nsw.servic:访问隐藏方法lcom/android/org/conscrypt/opensslsocketimpl;->setusesessiontickets(Z)V(light greylist,reflection)w/gov.nsw.servic:访问隐藏方法lcom/android/org/conscrypt/opensslsocketimpl;->setusesessiontickets;->setusesessiontickets;->setusessiontickets方法lcom/android/org/conscrypt/opensslsocketimpl;->setalpnprotocols([B)V(轻灰列表,反射)访问隐藏方法ldalvik/system/closeguard;->get()ldalvik/system/closeguard;(轻灰列表,反射)访问隐藏方法ldalvik/system/closeguard;->open(ljava/lang/string;)V(轻灰列表,反射)访问隐藏方法ldalvik/system/closeguard;->warnifopen()V(轻灰列表,反射)nBackground()ReactInstanceManager.RecreateReactContextInbackgroundInner()E/AndroidRuntime:致命异常:AsyncTask#2进程:xxxx,PID:8127 java.lang.runtimeException:在Android.os.AsyncTask$3处执行doInBackground()done(AsyncTask.java:354)done(AsyncTask.java:383)处java.util.concurrent.ThreadPoolExecutor.runworker(ThreadPoolExecutor.java:1167)在java.util.concurrent.ThreadPoolExecutor$worker.run(ThreadPoolExecutor.javer.run(ThreadPoolExecutor.java:641)在java.lang.thread.run(ThreadPoolExecutor.java:764)在java.lang.thread.run(ThreadPoolExecutor.java:764)由:java.lang.thread.run.inspectorPackagerConnection$Connection.Connect(检查rpackagerConnection.java:251)在com.facebook.react.devsupport.InspectorPackagerConnection.connect(InspectorPackagerConnection.java:52)在com.facebook.react.devsupport.devServerHelper$3.doInBackground(devServerHelper.java:230)在com.facebook.react.devsupport.devServerHelper$3.doInBackground(devServerHelper.java:222)在.runworker(threadpoolexecutor.java:1167) 在java.util.concurrent.threadpoolexecutor.worker.run(threadpoolexecutor.java:641) 在java.lang.thread.run(threadpoolexecutor.java:764) e/androidruntime:致命异常:AsyncTask#1进程:xxxxx,PID:8127 java.lang.runtimeException:在android.os.AsyncTask$3执行doInBackground()时出错。done SetException(FutureTask.java:252)在java.util.concurrent.futureTask.run(FutureTask.java:271)在java.util.concurrent.threadPoolExecutor.runworker(threadPoolExecutor.java:1167)在java.util.concurrent.threadPoolExecutor.worker.run(threadPoolExecutor.java:1167)在java.util.concurrent.threadPoolExecutor$worker.run(threadPoolExecutor.java:641)在client.newWebSocket(okHttpClient.java:442)在com.facebook.react.packagerconnection.reconnectingWebSocket.connect(reconnectingWebSocket.java:77)在com.facebook.react.packagerconnection.jspackagerclient.init(jspackagerclient.java:89)在com.facebook.react.devSupport.devServerHelper$1.doinbackground(devServerHelper.java:197)在333)在java.util.concurrent.futureTask.run(futureTask.java:266)在java.util.concurrent.ThreadPoolExecutor.RunWorker(ThreadPoolExecutor.java:1167) 在java.util.concurrent.ThreadPoolExecutor$worker.run(ThreadPoolExecutor.java:641) 在java.lang.thread.run(thread.java:764) I/process:发送信号。PID:8127签名:9 W/.0.2.2:8081/...:type=1400审核(0.0:777):AVC:拒绝{写}for name=“Perfd”dev=“DM-0”ino=65541 scontext=U:R:untrusted_app_27:S0:C512,c768 tcontext=U:Object_R:shell_data_file:S0 tclass=Dir permissive=0 type=1400审核(0.0:778):AVC:拒绝{写}for name=“Perfd”dev=“DM-0”ino=65541 tcontext=u:object_r:shell_data_file:s0 tclass=dir许可=0与目标VM断开连接,地址:'localhost:8673',传输:'socket'

共有1个答案

呼延俊风
2023-03-14

在对这个问题进行了一些研究后,我发现:

显然,此崩溃是由于在创建React本机应用程序实例时React本机包使用okhttp3时出现超时错误造成的。

深入研究这个日志,我发现okhttp3 repo中的realWebsocket.java:192文件引入了一个清除超时的更改,这个更改使React lib packager连接包中的一些类混乱,从而导致崩溃。

我建议您不要使用okhttp 3.12.0,而是遵循okhttp实现的下一个标准:

3.11.0>=okhttp>=3.14.0

之后,你的应用程序应该像一个魅力一样工作。

 类似资料:
  • 这似乎是一个基本问题。但在采访前需要澄清。 我在抽象类中有一个非抽象方法。它的具体类重写了该方法。但我想调用父类的原始方法来调用,而不是重写方法。有什么办法吗? 据我所知,没有办法调用原始方法?

  • 问题内容: 我得到了几种解释,但是到目前为止,我还无法理解Java中的抽象类和方法是什么。 有人说它必须与程序的安全性做些关系,另一些人说不是那样。 即使从Dietel&Dietel的书中,我也不明白它的目的。我们何时,何地,为什么使用它? 请像您正在教初学者一样进行解释,非常感谢您的帮助。 问题答案: 抽象类是无法实例化的类。唯一的目的是扩展其他类。 抽象方法是抽象类中的方法(必须声明为抽象),

  • 本文向大家介绍php中的抽象方法和抽象类,包括了php中的抽象方法和抽象类的使用技巧和注意事项,需要的朋友参考一下 1、什么是抽象方法? 我们在类里面定义的没有方法提的方法就是抽象方法。所谓的没有方法体指的是,在声明的时候没有大括号以及其中的内容,而是直接在声明时在方法名后加上分号结束,另外在声明抽象方法时方法还要加一个关键字"abstract"来修饰。 例如: 2、什么是抽象类? 只要一个类里面

  • 我正在尝试对扩展抽象基的类进行单元测试。以下是“类似的类”,以供说明: 下面是我正在尝试的单元测试: 当我做这个测试的时候 java.lang.NullPointerException 在中 我知道自动连线的“滤水器”没有初始化。但接下来,我只想在我的单元测试中模拟抽象的“非抽象”方法。 我该如何使用EasyMock来实现这一点呢?另外,我不知道和应该做什么。

  • 大家好,我有这个主课堂 错误:(42,8)错误:Home不是抽象的,并且不会覆盖OnFragmentInteractionListener中的onFragmentInteract(String)抽象方法 我创建了一个导航抽屉,并希望有一个新的片段来显示另一个家庭活动的内容。 Android Studio告诉我做个家。类抽象或实现抽象方法。 里面: 我那样做了,但是什么也没有改变。我不能让home类

  • 本文向大家介绍抽象类必须要有抽象方法吗?相关面试题,主要包含被问及抽象类必须要有抽象方法吗?时的应答技巧和注意事项,需要的朋友参考一下 不需要,抽象类不一定非要有抽象方法;但是包含一个抽象方法的类一定是抽象类。 示例代码: 上面代码,抽象类并没有抽象方法但完全可以正常运行。