protocol TLSv1 is not supported uni-app 三星必现

protocol TLSv1 is not supported uni-app 三星必现

示例代码:

uni.request


## 操作步骤:

/


## 预期结果:

/


## 实际结果:

/


## bug描述:

为什么三星手机安卓15的就会报错,陆续接到好几个三星的反馈了。
服务器只支持V1.2和V1.3。
请检查okhttp为什么会降级?
在手机上用浏览器访问接口地址它是正常的,说明nginx服务器是没有问题的。

| 信息类别     | 详细信息       |
|--------------|----------------|
| 产品分类     | uniapp/App     |
| PC开发环境   | Windows        |
| PC版本号     | win11          |
| HBuilderX    | 正式           |
| HBuilderX版本 | 4.66           |
| 手机系统      | Android        |
| 手机版本号    | Android 15     |
| 手机厂商      | 三星           |
| 手机机型      | s24 ultra      |
| 页面类型     | vue            |
| vue版本      | vue3           |
| 打包方式     | 云端           |
| 项目创建方式 | HBuilderX      |

更多关于protocol TLSv1 is not supported uni-app 三星必现的实战教程也可以访问 https://www.itying.com/category-93-b0.html

34 回复

好不容易用plus.net写了一个还是一样报错,太难了。大佬救命啊。

更多关于protocol TLSv1 is not supported uni-app 三星必现的实战教程也可以访问 https://www.itying.com/category-93-b0.html


targetsdk36有问题,但是我改为33就可以访问,这个是什么情况。为什么底层还用的okhttp3版本。

麻烦发下appid,我这边没有高版本三星手机,所以这边改完给你打个改后的包 你帮忙测试一下

已经确认问题就是targetsdk36有问题,我现在降为了35了可以访问。我也没有三星Android15手机,但是可以用云真机测试,就是反复打包比较麻烦。比如testin等云真机平台有。

回复 loveCoding: 好的 我测一下

回复 DCloud_Android_THB: 这里应该还有一个问题,enableHttp2: true,后ios正常,小程序正常。Android app还是发起的http1.1,不知道是不是同一个问题,反馈了一起看吧。

只有安卓16,targetSdk36以上才会出现,已经降级解决了,但是以后的安卓16、安卓17咋解决这个还是得官方重视给解决一下安卓36以上的这个问题

我的美版三星手机也会出现这个问题,我现在也是最新的uniapp版本了,4.76,请求还是会报错

你发下appid 我帮你看看

美版Googel/OPPO/三星手机也遇到同样的问题,HBuiderX是最新版,打包SDK36

你发下appid 我帮你看看

回复 DCloud_Android_THB: 这个还没解决嘛?现在海外客户都用不了,谷歌发布的是SDK36,不能降级解决

targetSdk36以上才会出现,自定义基座就能复现,已经降级解决了,但是谷歌是要求安卓16的,希望官方重视给解决一下安卓36以上的这个问题

使用4.76进行打包

回复 DCloud_Android_THB: 用了 今天下午刚试了还是不行

回复 s***@resvent.com: 你用的是什么设备?

这两天也是遇到了,已经升级到4.76编译的,36出问题,很难和客户沟通是什么设备。反正就是statusCode:-1 protocol TLSv1 is not supported

回复 DCloud_Android_THB: 谷歌手机

回复 s***@resvent.com: 哪个型号呢,我这边找找设备

回复 DCloud_Android_THB: Pixel 7

回复 s***@resvent.com: 方便留一下qq吗, 我这边和你联调下

回复 DCloud_Android_THB: 可以,1285177189,你打包给我我安装测试下

回复 DCloud_Android_THB: 不知道是否已经解决,我在帖子下方放了日志,以帮助你们分析

三星手机A32,安卓版本13,也是同样的问题,今天重新打包的还是报错。HBuilder X 4.76

更新下 4.81再试试

回复 DCloud_Android_THB: 我更新了4.81,Target 设置36的时候 还是出现“protocol TLSv1 is not supported”

回复 DCloud_Android_THB: 是不是没更新到,上次和你测试那个包可以,但是4.81的还是会报错request:fail abort statusCode:-1 protocol TLSv1 is not supported

回复 s***@resvent.com: 我测试了,还是和之前一样报错:-1 protocol TLSv1 is not supported

这个是部分日志,以帮助你们分析

为什么enableHttp2: true厚安卓还是使用http1.1,这个还是没解决,不需要另外开个帖子吧,底层okhttp可以升级下吗?

tls1.0的问题,你那边是否有确认解决呢,我们最近需要这个问题的修复呢,一直不见回复。

港版荣耀, Android 15, targetsdk36 也出现这个问题

目前这个问题官方有解决吗?这边上线谷歌市场也碰到了同样的问题,希望能尽快解决。

这是一个典型的TLS协议版本兼容性问题。在Android平台上,uni-app底层使用okhttp进行网络请求,而某些三星设备在系统层面可能存在TLS协议协商机制的特殊处理。

问题分析:

  1. 服务器明确只支持TLSv1.2和TLSv1.3,但客户端却尝试使用TLSv1.0
  2. 浏览器访问正常说明服务器配置正确,问题出现在客户端协议协商环节
  3. 三星Android 15设备可能存在特定的SSL/TLS实现差异

解决方案:

  1. 配置okhttp强制使用TLSv1.2+manifest.json中配置网络请求的TLS版本:
    {
      "app-plus": {
        "networkTimeout": {
          "request": 30000
        },
        "ssl": {
          "protocols": "TLSv1.2,TLSv1.3"
        }
      }
    }
回到顶部