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

Fedora系统运行Flutter时Gradle无法解析:classpath配置依赖

解决Fedora下Flutter项目Gradle构建依赖下载失败问题

1. 排查网络连通性问题

报错里的*repo.maven.apache.org: Name or service not known*是核心问题,先确认网络解析和连通:

  • 终端执行ping repo.maven.apache.org,如果提示无法解析,说明DNS配置有问题:
    • 临时修改DNS:编辑/etc/resolv.conf,添加nameserver 8.8.8.8,保存后重新测试。
    • 检查系统代理:执行echo $http_proxy $https_proxy,如果有未正确配置的代理,执行unset http_proxy; unset https_proxy清空后重试。
  • 如果ping通但下载失败,检查是否有防火墙拦截HTTPS请求。

2. 替换无效的Gradle仓库配置

jcenter已停止服务,添加它无法解决问题,换成维护中的仓库并清理无效配置:
打开项目根目录下的android/build.gradle,修改如下:

buildscript {
    repositories {
        google()
        mavenCentral()
        // 可选添加阿里云镜像加速国内访问
        maven { url 'https://maven.aliyun.com/repository/public' }
    }
    dependencies {
        // 使用与Flutter兼容的Android Gradle Plugin版本,示例为7.4.2
        classpath "com.android.tools.build:gradle:7.4.2"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        maven { url 'https://maven.aliyun.com/repository/public' }
    }
}

3. 清理缓存重新构建

  • 清理Flutter项目缓存:flutter clean
  • 删除本地Gradle缓存:rm -rf ~/.gradle/caches
  • 重新拉取依赖并运行:flutter pub get && flutter run

4. 检查SELinux和防火墙限制

Fedora默认开启的SELinux或防火墙可能拦截Gradle的网络请求:

  • 临时关闭SELinux测试:sudo setenforce 0,如果构建成功,再配置SELinux规则允许Gradle的网络请求(不建议长期关闭)。
  • 临时关闭防火墙测试:sudo systemctl stop firewalld,确认问题后再配置防火墙允许HTTPS出站请求。

5. 确认Gradle版本兼容性

打开android/gradle/wrapper/gradle-wrapper.properties,确保Gradle版本和Android Gradle Plugin匹配,示例配置:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-all.zip

(该版本与AGP 7.4.2兼容)

内容的提问来源于stack exchange,提问作者Samier Uddin Ahammad Shovo

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 08:02:32