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

Flutter安卓运行报unable to find valid certification path错误如何解决

Flutter安卓端运行PKIX证书校验失败解决方案

该报错是安卓构建阶段Gradle下载依赖资源时,Java环境的SSL证书校验不通过导致,Web端运行无需经过Gradle安卓构建流程,因此不会触发该错误。

修复步骤

  • 切换网络环境
    如果你当前使用公司内网、自定义代理或VPN,这类网络通常会对HTTPS请求做SSL劫持,Java默认信任库没有内置对应自签名证书,就会触发校验失败。先切换到公共家庭/手机热点网络后重新运行构建。
  • 替换Gradle为国内镜像源
    打开项目android/build.gradle文件,将repositories代码块的默认google、mavenCentral源替换为阿里云镜像:
    repositories {
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/jcenter' }
        maven { url 'https://maven.aliyun.com/repository/public' }
    }
    
    同时修改android/settings.gradle文件中pluginManagement和dependencyResolutionManagement两个代码块的仓库地址,替换为上述阿里云镜像地址。
  • 导入证书到Java信任库(上述方案无效时使用)
    用浏览器访问Gradle要下载的目标域名,导出站点的根证书,格式选择DER编码二进制。
    打开JDK安装目录,进入jre/lib/security路径,执行如下命令导入证书:
    keytool -import -alias 自定义证书别名 -keystore cacerts -file 导出的证书文件路径
    输入默认密码changeit,确认导入完成后重启IDE重新构建即可。
  • 临时关闭SSL校验(仅用于排查问题,不推荐长期使用)
    打开android/gradle.properties文件,添加如下配置忽略SSL校验:
    # Windows系统使用以下配置
    systemProp.javax.net.ssl.trustStore=NUL
    systemProp.javax.net.ssl.trustStoreType=Windows-ROOT
    # Mac/Linux系统使用以下配置
    # systemProp.javax.net.ssl.trustStore=/dev/null
    # systemProp.javax.net.ssl.trustStoreType=KeychainStore
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:09:01