Flutter在Android Studio运行报Gradle task assembleDebug错误如何解决
Flutter Android端运行Gradle SSL握手错误修复方案
该错误本质为Gradle构建过程中下载依赖资源时SSL握手被远程服务端中断,绝大多数场景由国内网络访问官方源受限、代理配置异常、证书校验失败导致,可按以下方案依次排查修复:
方案1:替换为国内镜像源(优先尝试)
修改Android项目构建源
修改项目android/build.gradle文件,替换buildscript和allprojects节点下的仓库配置:
buildscript { ext.kotlin_version = '1.7.10' repositories { // 注释掉默认官方源 // google() // mavenCentral() // 替换为阿里云镜像 maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } } dependencies { classpath 'com.android.tools.build:gradle:7.2.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { // 注释掉默认官方源 // google() // mavenCentral() // 替换为阿里云镜像 maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } } }
修改Gradle下载源
修改项目android/gradle/wrapper/gradle-wrapper.properties文件,将distributionUrl对应的官方地址替换为阿里云镜像地址:
# 原地址示例:distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip # 替换为对应版本的阿里云镜像,示例如下: distributionUrl=https\://mirrors.aliyun.com/macports/distfiles/gradle/gradle-7.5-all.zip
方案2:检查代理配置
如果你的网络环境使用了代理,检查以下两个位置的代理配置是否正确:
- 项目根目录下的
android/gradle.properties - 系统用户目录下
.gradle文件夹内的gradle.properties
如果存在以下类似配置,确认代理地址、端口、账号密码有效,若代理已失效直接注释或删除所有代理配置:
# systemProp.http.proxyHost=127.0.0.1 # systemProp.http.proxyPort=7890 # systemProp.https.proxyHost=127.0.0.1 # systemProp.https.proxyPort=7890
方案3:手动安装Gradle包
如果镜像源替换后仍然无法下载Gradle,可手动安装对应版本:
- 从任意可靠渠道下载
gradle-wrapper.properties中指定版本的Gradle压缩包(无需解压) - 打开系统用户目录下的
.gradle/wrapper/dists文件夹,进入对应Gradle版本命名的文件夹,再进入里面由随机字符串命名的子文件夹 - 将下载好的Gradle压缩包放入该文件夹,重新运行项目即可跳过下载步骤
方案4:临时关闭SSL校验(应急使用,不推荐长期开启)
如果是证书校验导致的握手失败,可在android/gradle.properties中添加以下配置临时跳过SSL校验,问题修复后建议及时删除该配置:
org.gradle.jvmargs=-Djavax.net.ssl.trustStore=/dev/null -Djavax.net.ssl.trustStoreType=JKS
内容的提问来源于stack exchange,提问作者Michel Enzo Etoundi
相关产品推荐
相关产品推荐

