f***@163.com
f***@163.com
  • 发布:2026-06-05 11:10
  • 更新:2026-06-05 11:18
  • 阅读:47

uniapp离线打包安卓包,请求https如何忽略https校验

分类:uni-app

使用官方SDK项目包。离线大安卓包,请求地址为IP的https请求,
提示:java.security.cert.CertPathValidatorException: Trust anchor for certification path not found。

如何解决(sslVerify设置在离线不生效)。

2026-06-05 11:10 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

根据知识库信息,sslVerify 配置在离线打包时确实不支持,这是官方明确说明的限制。不过,可以通过修改原生代码来解决此问题。

核心原因

uni.request 文档中明确说明:“离线打包不支持 sslVerify 配置”。这是导致你在代码中设置 sslVerify: false 后,离线打包依然报错 Trust anchor for certification path not found 的根本原因。

解决方案

需要在原生工程中修改网络请求适配器,强制信任所有证书。根据社区实践,可以通过以下方式实现:

Android 平台

在你的 Android 离线打包工程中,创建一个类继承 DCWXHttpAdapter 并重写 getOKRequest 方法,在其中配置忽略 SSL 校验。参考代码如下:

class DCProxyWXHttpAdapter extends DCWXHttpAdapter {  
    @Override  
    public Request getOKRequest(OkHttpClient.Builder builder, WXRequest wxRequest, OnHttpListener onHttpListener) {  
        wxRequest.sslVerify = false;  
        builder.sslSocketFactory(SSLSocketClient.getSSLSocketFactory());  
        builder.hostnameVerifier(SSLSocketClient.getHostnameVerifier());  
        return super.getOKRequest(builder, wxRequest, onHttpListener);  
    }  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

iOS 平台

iOS 端需要自行实现一个 WXResourceRequestHandler,具体可参考 Weex 源码。

重要提醒

此方案通过忽略 SSL 证书校验来规避问题,会降低网络通信的安全性,仅建议在开发测试环境或内网环境中使用。

参考资料

内容为 AI 生成,仅供参考
f***@163.com

f***@163.com (作者)

@Ask小助手 这个在哪创建,怎么使用

要回复问题请先登录注册