【发布时间】:2019-03-14 21:49:56
【问题描述】:
当我们将 react native 从 0.57.8 升级到 0.58.6 时,我们在 android 上遇到了问题
我们找不到它无法找到实现的根本原因。
谢谢。
来自android studio的日志如下:
V/StudioProfiler:转换类:okhttp3/OkHttpClient W/xxxxx:当前的 dex 文件中有多个类。如果没有对其应用任何转换,则对此类调用 RetransformClasses 可能会失败! D/NetworkSecurityConfig:未指定网络安全配置,使用平台默认值 W/gov.nsw.servic:访问隐藏方法 Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V(浅灰名单,反射) W/gov.nsw.servic:访问隐藏方法 Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setHostname(Ljava/lang/String;)V(浅灰名单,反射) 访问隐藏方法 Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B(浅灰名单,反射) 访问隐藏方法 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(浅灰名单,反射) D/ReactNative:ReactInstanceManager.createReactContextInBackground() ReactInstanceManager.recreateReactContextInBackgroundInner() E/AndroidRuntime:致命异常:AsyncTask #2 进程:xxxx,PID:8127 java.lang.RuntimeException:执行 doInBackground() 时出错 在 android.os.AsyncTask$3.done(AsyncTask.java:354) 在 java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) 在 java.util.concurrent.FutureTask.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:641) 在 java.lang.Thread.run(Thread.java:764) 原因:java.lang.AbstractMethodError:抽象方法“okio.Timeout okhttp3.Call.timeout()” 在 okhttp3.internal.ws.RealWebSocket.connect(RealWebSocket.java:190) 在 okhttp3.OkHttpClient.newWebSocket(OkHttpClient.java:442) 在 com.facebook.react.devsupport.InspectorPackagerConnection$Connection.connect(InspectorPackagerConnection.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) 在 android.os.AsyncTask$2.call(AsyncTask.java: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) E/AndroidRuntime:致命异常:AsyncTask #1 进程:xxxxx,PID:8127 java.lang.RuntimeException:执行 doInBackground() 时出错 在 android.os.AsyncTask$3.done(AsyncTask.java:354) 在 java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383) 在 java.util.concurrent.FutureTask.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:641) 在 java.lang.Thread.run(Thread.java:764) 引起:java.lang.AbstractMethodError:抽象方法“okio.Timeout okhttp3.Call.timeout()” 在 okhttp3.internal.ws.RealWebSocket.connect(RealWebSocket.java:190) 在 okhttp3.OkHttpClient.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) 在 com.facebook.react.devsupport.DevServerHelper$1.doInBackground(DevServerHelper.java:151) 在 android.os.AsyncTask$2.call(AsyncTask.java: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 SIG:9 W/.0.2.2:8081/...: type=1400 audit(0.0:777): avc: denied { write } 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:拒绝 { write } 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=目录许可=0 与目标VM断开连接,地址:'localhost:8673',传输:'socket'
【问题讨论】:
-
我正在处理一个类似的问题,您的 Android 应用实施的是哪个版本的 okhttp?
-
okhttp 版本是 3.12.1,也就是 react native 0.58.6 中的版本
标签: react-native-android okhttp3