
更新 gradle.properties 后出现 URISyntaxException: Illegal character in path 错误,通常因 distributionUrl 中包含空格、中文、特殊符号或不合法 URL 编码所致,需严格校验并修正 Gradle 分发地址格式。
更新 `gradle.properties` 后出现 `urisyntaxexception: illegal character in path` 错误,通常因 `distributionurl` 中包含空格、中文、特殊符号或不合法 url 编码所致,需严格校验并修正 gradle 分发地址格式。
该错误的核心在于 Gradle Wrapper 无法解析 gradle/wrapper/gradle-wrapper.properties 文件中的 distributionUrl 字段。异常堆栈明确指出:Illegal character in path at index 62,说明 URL 字符串在第 62 个字符位置存在非法字符(如空格、全角符号、未编码的中文、反斜杠 或多余空格等),导致 java.net.URI 构造失败。
✅ 正确的 gradle-wrapper.properties 示例(以 Gradle 8.4 为例):
# gradle/wrapper/gradle-wrapper.properties distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists distributionUrl=https://services.gradle.org/distributions/gradle-8.4-bin.zip zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists
⚠️ 常见错误及修复方式:
- ❌ 错误写法(含空格):
distributionUrl = https://services.gradle.org/distributions/gradle-8.4-bin.zip(末尾有空格) - ❌ 错误写法(中文路径或符号):
distributionUrl=https://example.com/gradle/gradle-8.4-中文版.zip - ❌ 错误写法(反斜杠未转义):
distributionUrl=https://services.gradle.org/distributions/gradle-8.4-bin.zip(Windows 下若误用 而非 / 或未转义 \) - ✅ 正确做法:
- URL 必须为标准 ASCII 字符,不含空格、中文、全角标点;
- 协议后双斜杠 :// 不可省略;
- 特殊字符(如 : / ? 等)需确保符合 URI 规范,必要时使用 %xx 编码(但官方分发 URL 无需手动编码);
- 等号 = 前后严禁添加空格;
- 推荐直接从 Gradle 官方发布页 复制 URL,避免手误。
? 快速排查步骤:
- 打开项目路径下的 android/gradle/wrapper/gradle-wrapper.properties;
- 检查 distributionUrl 行,逐字符核对第 62 位附近是否存在异常(可用编辑器显示空白字符);
- 删除行首/行尾空格,确保 URL 完全匹配官方格式;
- 保存后,在终端执行 ./gradlew --version(macOS/Linux)或 gradlew.bat --version(Windows)验证 Wrapper 是否可正常加载;
- 若仍失败,可删除 android/gradle/wrapper/gradle-wrapper.jar 和 android/gradle/wrapper/dists/ 目录,重新触发下载(Flutter 会自动重建)。
? 提示:Flutter 项目中不建议手动修改 distributionUrl 指向非官方镜像(如国内代理),除非明确配置了合规的、URL 编码正确的镜像地址(例如:https://mirrors.cloud.tencent.com/gradle/gradle-8.4-bin.zip)。若必须使用镜像,请确认其路径无空格、无重定向跳转、且返回状态码为 200。
修复后再次运行 flutter build apk 或 flutter run,即可恢复正常构建流程。











