You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android App实体设备运行正常 模拟器启动崩溃报SSLHandshakeException错误

错误原因

该报错为SSL握手失败触发,根因是当前使用的网络环境部署了Netskope安全网关,它会对所有HTTPS请求做中间人拦截,将服务端证书替换为Netskope自签发的自定义证书。Android模拟器的系统信任根证书库默认没有收录该Netskope根证书,因此Firebase请求验证证书不通过触发崩溃。实体设备运行正常是因为设备要么没有接入当前带Netskope拦截的网络,要么已经提前安装了Netskope根证书到系统信任区。

修复方案
  • 方案1:为模拟器安装Netskope根证书
    先从本地电脑的浏览器/证书管理器中导出caadmin.netskope.com对应的根证书,保存为PEM/CER格式。打开Android模拟器,依次进入「设置 → 安全 → 加密和凭据 → 安装证书」,选中导出的证书文件,选择安装为「受信任的根证书」,重启模拟器后重新运行应用即可。
  • 方案2:临时关闭Netskope代理拦截
    本地开发测试时可以直接退出电脑端的Netskope客户端,或者关闭它的HTTPS流量拦截功能,模拟器的网络请求不会被中间人替换证书,即可正常请求Firebase相关服务。
  • 方案3:应用debug版本临时信任用户证书(仅测试用)
    在项目res/xml目录下新建network_security_config.xml文件,添加如下配置:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <debug-overrides>
        <trust-anchors>
            <!-- 信任系统根证书 -->
            <certificates src="system" />
            <!-- 信任用户手动安装的根证书 -->
            <certificates src="user" />
        </trust-anchors>
    </debug-overrides>
</network-security-config>

随后在AndroidManifest.xml的<application>标签中添加属性:
android:networkSecurityConfig="@xml/network_security_config"
该配置仅作用于debug编译版本,不会影响正式发布包,可快速解决本地测试的证书校验问题。

注意:禁止在生产版本的网络安全配置中添加信任用户证书的逻辑,会导致应用面临中间人攻击的安全风险。

内容的提问来源于stack exchange,提问作者swetha Naga

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 00:06:07