Android 4.4.4 上的改造 SSL 错误

2024-04-09

我们有一个现有的 Android 应用程序,它使用 Retrofit 连接到服务器并发送和接收 JSON。自从将我的设备更新到 Android 4.4.4 后,我在尝试连接时收到以下错误:

D/Retrofit(8004): javax.net.ssl.SSLException: Read error: ssl=0x768c5c40: I/O error during system call, Connection reset by peer
D/Retrofit(8004):  at com.android.org.conscrypt.NativeCrypto.SSL_read(Native Method)
D/Retrofit(8004):  at com.android.org.conscrypt.OpenSSLSocketImpl$SSLInputStream.read(OpenSSLSocketImpl.java:689)
D/Retrofit(8004):  at okio.Okio$2.read(Okio.java:136)
D/Retrofit(8004):  at okio.AsyncTimeout$2.read(AsyncTimeout.java:211)
D/Retrofit(8004):  at okio.RealBufferedSource.indexOf(RealBufferedSource.java:244)
D/Retrofit(8004):  at okio.RealBufferedSource.readUtf8LineStrict(RealBufferedSource.java:191)
D/Retrofit(8004):  at com.squareup.okhttp.internal.http.HttpConnection.readResponse(HttpConnection.java:189)
D/Retrofit(8004):  at com.squareup.okhttp.internal.http.HttpTransport.readResponseHeaders(HttpTransport.java:101)
D/Retrofit(8004):  at com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:676)
D/Retrofit(8004):  at com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:426)
D/Retrofit(8004):  at com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:371)
D/Retrofit(8004):  at com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:466)
D/Retrofit(8004):  at com.squareup.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
D/Retrofit(8004):  at com.squareup.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:25)
D/Retrofit(8004):  at retrofit.client.UrlConnectionClient.readResponse(UrlConnectionClient.java:73)
D/Retrofit(8004):  at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:38)
D/Retrofit(8004):  at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:321)
D/Retrofit(8004):  at retrofit.RestAdapter$RestHandler.access$100(RestAdapter.java:220)
D/Retrofit(8004):  at retrofit.RestAdapter$RestHandler$2.obtainResponse(RestAdapter.java:278)
D/Retrofit(8004):  at retrofit.CallbackRunnable.run(CallbackRunnable.java:42)
D/Retrofit(8004):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
D/Retrofit(8004):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
D/Retrofit(8004):  at retrofit.Platform$Android$2$1.run(Platform.java:142)
D/Retrofit(8004):  at java.lang.Thread.run(Thread.java:841)

我已更新到 Retrofit / OkHTTP 和 Okio 的最新版本,但错误仍然存​​在。我猜这与 Android 4.4.4 中的 OpenSSL 补丁有关,但我找不到此错误的解决方案。

有没有其他人遇到过这个问题,如果有的话,找到了解决办法吗?

Thanks

Rich


For use Retrofit在 Pre-lollipop Android 中,你应该使用较低版本的OKhttp并被迫实施支持 Pre-lollipop 的特定版本

implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
implementation 'com.squareup.retrofit2:retrofit:2.9.0'
implementation ("com.squareup.okhttp3:okhttp:3.12.12"){
    force = true //API 19 support
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 4.4.4 上的改造 SSL 错误 的相关文章

  • 解锁设备后 Android Activity 重新启动

    我正在创建一个简单的 Android 项目 但是当用户解锁屏幕 锁定后 时 我的每个活动都会重新启动 这是 Android 应用程序的正常行为吗 或者我必须在清单中处理它 或者别的地方 请帮忙 如果您的目标构建版本是 Honeycomb 3
  • Android CirclePageIndicator 不工作

    我无法使用 CirclePageIndicator 加载页面 这是 XML
  • Android x86_64 和 x86 模拟器在 AlertDialog.onClick 事件上崩溃

    我正在 x86 64 和 x86 模拟器中测试 Android 应用程序 在从显示列表的 AlertDialog 中选择一个项目后 它崩溃了 Android 模拟器意外关闭 AlertDialog 是从 AppCompatActivity
  • Android 已弃用屏幕尺寸?

    嘿 我需要在我的应用程序中获取屏幕的宽度 该应用程序将在 2 1 及更高版本上运行 我已经将其设置为如下所示 该方法已被弃用 我可能应该使用 getSize 或其他方式 但问题是 这是否适用于 3 0 和 4 0 等 Android 版本
  • Android 6 getAccountName() 缺少 android.permission.GET_ACCOUNTS

    在 Android 6 设备上运行时出现以下异常 java lang SecurityException Missing android permission GET ACCOUNTS 这看起来像是一个相当简单的例外 但对我来说并非如此 我
  • Android如何让进度条(圆形)在按下按钮时覆盖全屏?

    我尝试在单击提交按钮时显示进度栏 数据加载完成后它将隐藏 但是 进度条没有覆盖全屏 相反 它被按钮覆盖 请参考截图 应该更容易理解我的意思 我想要实现的是屏幕截图的底部部分 Main4Activity java public class M
  • Orientation改变时如何处理Activity?

    我正在编写一个活动 它从服务器加载数据并使用 ArrayAdapter 将其显示为列表 为此 我显示了一个进度对话框 即加载 同时它从服务器加载所有数据 然后我在处理程序中关闭该对话框 我的问题是 当我更改方向时 会再次显示进度对话框 这是
  • Flutter - 当用户移动到其他(预览)屏幕时如何正确暂停相机?

    我需要pause当我移动到导航树上的另一个屏幕以节省电池和性能时相机 我尝试过了dispose cameraController 但 flutter 从另一个屏幕返回时不会重新初始化状态 但这很明显 我使用相机的主要代码 override
  • 在 CollapsingToolbarLayout 中设置 minHeight 没有任何效果

    我目前使用 CollapsingToolbarLayout 遇到的主要问题是 无论我尝试什么 工具栏的 minHeight 属性都没有任何效果 我想要的结果是这样的 CollapsingToolbarLayout 具有一定的展开高度和一定的
  • Android:自动从项目包中删除未使用的图像

    我正在开发一个相当大的android项目 并且在drawable文件夹中有很多图像 其中许多图像未在项目中使用 因为它们已被替换 并且占用了宝贵的空间 有什么方法可以自动找到这些图像并删除它们 而不是搜索项目中的每个图像 我使用过的一些工具
  • FFmpeg 不适用于 android 10,直接进入 onFailure(String message) 并显示空消息

    我在我的一个项目中使用 FFmpeg 进行视频压缩 在 Android 10 Google Pixel 3a 上 对于发送执行的任何命令 它会直接进入 onFailure String message 并显示空消息 所以我在我的应用程序 g
  • 在另一个 Intent 中发送 Intent

    也许我的处理方式是错误的 但我想在我自己的应用程序中响应我的 Android AppWidget 的点击事件并启动一个 Activity 当时我设置了PendingIntent我还有一个Intent我想在点击时启动它 我的onStartCo
  • Android 6.0 缺乏访问相机服务的权限

    我在 Android 6 0 中使用 Camera2API 我在Android 5 0中没有报错 然而 当我在 Android 6 0 中使用我的代码时 我遇到了问题 问题是有时我可以成功打开相机并拍照 但有时相机打不开 出现错误 java
  • 将原生 Twilio Android SDK 与 Flutter 集成

    我正在尝试使用 flutter 创建 IP 语音 VOIP 移动应用程序 我还没有看到 twilio 语音 api 的 flutter 插件的实现 所以我使用 MethodChannel 将我的应用程序与本机 android 语音 api
  • Android LayerDrawable.setDrawableByLayerId 不适用于 HTC Sensation(和其他?)

    我正在使用 LayerDrawable 在底层图像 索引 0 上构建一系列热点 索引 1 热点是根据用户界面交互添加的 并且它们的位置是动态的 因此我以编程方式完成所有这些操作 而不是使用 XML 作为进一步 可能不相关 的细节 我使用 F
  • 在多模块项目中访问绑定适配器

    我有一个多模块项目 其中应用程序模块包含我的绑定适配器 而我的功能模块取决于我的应用程序模块 因为它是动态功能模块 应用程序 包含绑定适配器 gt 动态功能模块 存在布局的地方 我在所有模块中启用了数据绑定和 kapt 我无法成功构建应用程
  • 膨胀类片段 InflateException 二进制 XML 文件时出错

    我正在使用 Material Design 和 NavigationDrawer 布局等设计我的第一个应用程序 但我遇到了一个问题 该应用程序非常简单 它只显示文本 并且基于 Android Studio 中提供的模板 尝试启动我的应用程序
  • 将视图放置在 ConstraintLayout 之外

    我想将视图放置在ConstraintLayout用滑动动画来制作它们的动画 我尝试过设置像这样的约束constraintBottom toTopOf parent 但是View留在容器内 请注意 我希望通过使用内置动画的约束来实现此目的 而
  • Android 方向传感器的替代品是什么?

    大家好 我正在为 Android 构建 3D 游戏 我目前正在尝试在我的游戏中添加一个传感器 允许玩家倾斜机器人作为其控制 理想情况下 我想使用方向传感器 但我注意到它已被弃用 有谁知道如何检测 Android 中的倾斜并且不使用这个传感器
  • Android On Focus Listener 和 On Click Listener on ImageView

    我有一个 imageview 它具有两个属性 可聚焦的 and 可聚焦触摸模式 set to true

随机推荐

  • 不弹出标准对话框

    我有一个带有 TSaveDialog 的表单 当调用 Execute 函数时 从 IDE 运行时它不会弹出 它does独立运行时弹出 进一步测试后 我发现所有 TSave TOpen 对话框都不起作用 不工作意味着 Execute 返回Fa
  • 有没有办法让图像通过 ASP.NET 和 app_offline.htm 显示?

    当使用ASP NET的app offline htm功能时 它只允许html 但不允许图像 有没有办法让图像显示无需将他们指向另一个网站上的不同网址 是的 它只是不能来自具有 app offline htm 文件的网站 该图像必须托管在其他
  • 如何向 Symfony/Monolog 日志输出添加附加信息(主机、URL 等)?

    我正在开发我的第一个基于 Symfony 的 WebApp 项目 我已将 Symfony 配置为不仅将日志消息写入不同的日志文件 而且还立即以电子邮件形式发送关键错误消息 这很好用 不过 我想在默认日志消息中添加一些附加信息 以便更轻松地找
  • 是否可以在从模板扩展的天蓝色管道 yml 中使用变量?

    我们正在使用扩展功能以安全的方式重用管道中的模板 为了更轻松地定义模板的参数 我想使用变量 但我觉得这是不可能的 但由于我在官方文档中找不到答案 所以我在这一轮中询问 我的 yml 文件如下所示 name Date yyyyMMdd Rev
  • 在 OSmnx 中将街道划分为更小的路段

    是否可以在 OSmnx 中将街道段划分为更小的部分 例如 假设我们要将一条街道划分为 10 米的路段或将一条街道划分为 10 个相等的部分 G ox graph from place Piedmont California USA netw
  • 通过 VPN 连接到 Flask 应用程序

    我是 Flask 新手 如果问题听起来微不足道 请不要介意 我有一个 Flask 应用程序 不是我编写的 当我直接连接到网络时 它可以在本地计算机和远程计算机上正常工作 但是当我通过 VPN 连接到该应用程序时 它不起作用 我可以在那台机器
  • 如何更改 Ember 中的查询参数?

    我正在编写一个动作处理程序route application actions changeFoo foo I want to change the fooId queryParam to foo get id 问题是我能找到的唯一记录的更改
  • 如何杀死Postgresql中的空闲连接?

    我正在使用 java servlet 和 pgadmin 9 1 问题是 servlet 中的连接未正确关闭 因此如果达到最大连接 它会导致空白屏幕 我不希望每个用户都扩展 pgadmin 中的最大连接 i在 servlet 的起始点和结束
  • 多重继承的机制与构建灵活设计的模板相比

    这是一个更窄的版本question https stackoverflow com questions 32549573 understanding the exposition of alexandrescu about the weak
  • 如何了解 Firebase 工具的当前版本

    在 node js 命令提示符下 使用 firebase help 给出这个列表 Usage firebase options command Options V version output the version number P pr
  • 使用 MSBuild 构建解决方案文件夹

    我们有一个解决方案文件其中包含一些解决方案文件夹 库 单元测试 应用程序等 With 视觉工作室2010 https en wikipedia org wiki Microsoft Visual Studio 2010我们可以通过右键单击给
  • 将进度条添加到 gdal.Warp()

    我试图找出一种在 gdal Warp 中使用进度条来显示工作完成情况的方法 对于进度条 我使用 Tqdm 和 gdal Warp 用于从远程 URL 裁剪图像 def getSubArea url vsicurl url vsicurl u
  • 如何在 Struts 2 的单个视图中使用多个表单/操作

    我有一个显示在每个页面上的搜索框 搜索框的 JSP 代码通过图块插入到每个页面中 搜索框有一个表单和一个操作类SearchAction它需要为下拉框预加载一些属性 这SearchAction类有一个input 方法 它执行此初始化 一些页面
  • VS2010 调试/分析时的性能差异

    请参阅编辑 底部 问题可能不是我最初想的 Hi All 我正在编写一个图形库 它可以处理许多滤镜 效果 包括模糊 我一直在尝试优化我的代码 但遇到了一些我不明白的东西 当我运行代码时without在性能向导中 小图像上的简单 3x3 模糊可
  • 在Android应用程序中使用DIAL协议

    我想在我的视频流应用程序中使用 DIAL 协议 我的应用程序是一个示例应用程序 仅使用 VideoView 播放 HLS 示例流 我想集成 DIAL 协议 http www dial multiscreen org http www dia
  • servlet 代码中类型信息丢失

    我有一个与 Jersey 一起使用的简单闪存实现 如下所示 PostConstruct def before flash rotateIn PreDestroy def after flash rotateOut object flash
  • 如何在 XCode5+ 中创建 Interface Builder 插件?

    我需要做一个对象库 一个 Interface Builder 插件 例如Mapkit这样用户就可以拖动我的自定义对象并添加到UIView 作为属性 我想用我的基本属性来显示和配置它 知道如何做到这一点吗 thanks 在 Xcode 4 0
  • 通过javascript设置iframe的useragent

    试图满足的业务需求 在 iframe 中加载现有页面 模拟 iPhone 用户代理 这需要在客户端发生的原因是 有客户端脚本它检测用户代理并将一些类附加到 html 元素上 基于此 站点的样式将发生根本性的变化 因为 CSS 的目标元素是基
  • DBMS_RANDOM 被认为是危险的吗?

    我们的数据库团队希望从 PUBLIC 撤销 DBMS RANDOM 上的执行 以解决安全问题 如果你用谷歌搜索它 一些安全专家会认为这个包很危险 但没有说出原因 Ingram 和 Shaul 的书 Practical Oracle Secu
  • Android 4.4.4 上的改造 SSL 错误

    我们有一个现有的 Android 应用程序 它使用 Retrofit 连接到服务器并发送和接收 JSON 自从将我的设备更新到 Android 4 4 4 后 我在尝试连接时收到以下错误 D Retrofit 8004 javax net