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

react本机活动崩溃,可能与打包okhttp3有关

夔建章
2023-03-14

已经为此挣扎了一个星期,没有成功。

只要我点击,整个应用程序崩溃。

03-25 14:58:35.731 274 6-4224/com.justanotherandroidapp.developme E/androidruntime:致命异常:AsyncTask#2进程:com.justanotherandroidapp.developm,PID:2746 java.lang.runtimeException:在Android.os.AsyncTask$3处执行doinbackgrounding()时发生错误,在java.util.concurrent.futuretask.finishCompletion(Futuretask.java:354),在在java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1133)在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:607)在java.lang.thread.run(threadpoolexecutor.java:761)由:java.lang.nosuchmethoderror:No virtual method setCallWebSocket(lokhttp3/call;或它的超级类('okhttp3.internal.internal'的声明出现在/data/app/com.justanotherandroidapp.develop-2/split_lib_dependencies_apk.apk:classes57.dex)上,地址是OKHTTP3.ws.ws.websocketcall.enqueue(websocketcall.java:108)上,地址是com.facebook.react.devsupport.inspectorPackagerConnection$connection.connection(inspectorPackagerConnection.243),地址是.java:168)在com.facebook.react.devsupport.devserverhelper$3.doinbackground(devserverhelper.java:164)在android.os.asynctask$2.在java.util.concurrent.futuretask.run(futuretask.java:305)在java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1133)在 在java.util.concurrent.ThreadPoolExecutor$worker.run(ThreadPoolExecutor.java:607) 在java.lang.thread.run(thread.java:761) 

                                                                             --------- beginning of system

整个应用程序都在GitHub https://GitHub.com/vladp/just-othera-android-app上

在ReactNative的DevSuportManagerImpl.java(使用react native 0.42,API 25)中,在这两次调用之间,它崩溃了

  mDevServerHelper.openPackagerConnection(this);
  mDevServerHelper.openInspectorConnection();

(node_modules\react-native\android\com\facebook\react\react-native\0.42.3\react-native-0.42.3-sources.jar!\com\facebook\react\devsupportmanagerimpl.java中的第878,879行)

无论从构建中删除或添加okhttp和okhttp-ws,该问题都没有得到改善。gradle

//React Native  -- start
compile ("com.facebook.react:react-native:0.42.+"){
            // https://github.com/facebook/react-native/issues/10233
            exclude group:'com.facebook.stetho', module:'stetho'
            exclude module: 'jsr305'

}

compile 'com.squareup.okhttp3:okhttp:3.6.0'
compile 'com.squareup.okhttp3:okhttp-ws:3.4.2'

事先感谢任何帮助。

共有1个答案

安经纶
2023-03-14

终于想好该怎么办了。我强制gradle将所有对okhttp的引用解析为3.4.1版本。谢天谢地,在我的测试应用程序中,所有其他组件都能容忍“强制使用最低公分母”(即react native使用的okhttp的3.4.1版本)。

configurations.all {
    resolutionStrategy {
        // force certain versions of dependencies (including transitive)
        force 'com.squareup.okhttp3:okhttp:3.4.1'
    }
}

上面这句话原来是我花了大概30个小时才找到的解决方案...

 类似资料:
  • 我们正在调查另一个团队开发的一个应用程序,该应用程序在Android上与HereMaps(此处为SDK导航版,)相关的本机崩溃,其stacktrace如下: 编辑: 在代码中进行了一些重构和清理操作之后,我们已经达到了一个干净的状态,在这个状态下,我们确信没有任何泄漏;我们已经用LeakCanary调查并移除了所有这些,但本地崩溃仍然存在。 因此,我们试图回到basis,从github克隆了HER

  • 我们正在为android开发一个独立游戏,并希望用户选择他的昵称。我们选择使用NDK提供的本机活动,因为这似乎是最简单的方法。 我们遇到的键盘的第一个问题是函数ANativeActivity_showSoftInput()似乎什么都不做(如这里所述),所以我们使用JNI调用来启动键盘: 这对于调出键盘很好,在一些设备上也很好。但在其他设备上(例如Nexus7),当用户试图通过单击“隐藏键盘”按钮关

  • 我正在尝试使用在Flutter上,它在Android模拟器上运行完美。但是当我尝试在我的真实设备上使用它时,当我点击按钮打开相机时,它崩溃了,没有给出任何错误。我该如何解决它?我的手机是Android(小米8)。 我的代码:

  • 我正在我的应用程序中使用CameraX API。我已经将预览用例和ImageAnalysis用例绑定到活动生命周期,如 该应用程序大部分时间都可以工作,但会随机崩溃以下日志 2020-01-17 11:24:47.411 6581-6614/com。我的应用程序D/摄像头:重置捕获会话 2020-01-17 11:24:47.411 6581-6614/com.my.appD/相机:关闭状态下的释

  • 我正在尝试使用接收推送通知。正如文件所述,我正在安装并实施以下所有步骤 a) 安装react-native fcm b)使用链接库 c) 下载文件,从firebase控制台将其放入/ios/my project目录中 d)使用Cocoapods 1. cd ios安装Firebase消息传递 e)编辑 f) 编辑AppDelegate。m g) 启用功能 推送通知 背景模式 然后我将我的应用程序归

  • 我已经成功地用Quarkus/Graal构建了一个本机映像,我可以在终端中运行它(还没有容器)。但是,它会因“分段错误(堆芯转储)”消息而崩溃。如何获得有关错误的更多信息?是否有标志要传递给本机可执行文件或在构建映像时传递? 我使用的是GraalVM版本20.2.0(Java版本11.0.8) 任何帮助都是非常感激的。 谢谢