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

Flutter项目Gradle任务失败导致依赖无法解析求助

Flutter构建失败:无法解析com.getkeepsafe.relinker:relinker:1.4.5依赖

错误日志

Launching lib/main.dart on sdk gphone16k x86_64 in debug mode...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve com.getkeepsafe.relinker:relinker:1.4.5.
     Required by:
         project :app > io.flutter:flutter_embedding_debug:1.0.0-e672b006cb34c921db85b8e2f482ed3144a4574b
      > Could not resolve com.getkeepsafe.relinker:relinker:1.4.5.
         > Could not get resource 'https://repo.maven.apache.org/maven2/com/getkeepsafe/relinker/relinker/1.4.5/relinker-1.4.5.pom'.
            > Could not GET 'https://repo.maven.apache.org/maven2/com/getkeepsafe/relinker/relinker/1.4.5/relinker-1.4.5.pom'.
               > repo.maven.apache.org

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 1s
[!] Gradle threw an error while downloading artifacts from the network.
Retrying Gradle Build: #1, wait time: 100ms

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDebugAarMetadata'.
> Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
   > Could not resolve com.getkeepsafe.relinker:relinker:1.4.5.
     Required by:
         project :app > io.flutter:flutter_embedding_debug:1.0.0-e672b006cb34c921db85b8e2f482ed3144a4574b
      > Could not resolve com.getkeepsafe.relinker:relinker:1.4.5.
         > Could not get resource 'https://repo.maven.apache.org/maven2/com/getkeepsafe/relinker/relinker/1.4.5/relinker-1.4.5.pom'.
            > Could not GET 'https://repo.maven.apache.org/maven2/com/getkeepsafe/relinker/relinker/1.4.5/relinker-1.4.5.pom'.
               > repo.maven.apache.org

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.

BUILD FAILED in 1s
[!] Gradle threw an error while downloading artifacts from the network.
Error: Gradle task assembleDebug failed with exit code 1

Exited (1).

已尝试的解决方法

  • 更改Gradle版本
  • 执行flutter clean和flutter pub get
  • 重启模拟器

设备与环境配置

  • 操作系统:Ubuntu Linux 22
  • Android Studio版本:2024.1 Koala
  • Flutter版本:稳定版3.27.3
  • Java版本:21

Gradle配置文件

app/build.gradle

plugins {
    id "com.android.application"
    id "kotlin-android"
    // The Flutter Gradle Plugin must be applied after the Android and Kotlin Gradle plugins.
    id "dev.flutter.flutter-gradle-plugin"
}

android {
    namespace = "com.example.library_laravel"
    compileSdk = flutter.compileSdkVersion
    ndkVersion = flutter.ndkVersion

    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_17
        targetCompatibility = JavaVersion.VERSION_17
    }

    kotlinOptions {
        jvmTarget = JavaVersion.VERSION_17
    }

    defaultConfig {
        applicationId = "com.example.library_laravel"
        minSdk = flutter.minSdkVersion
        targetSdk = flutter.targetSdkVersion
        versionCode = flutter.versionCode
        versionName = flutter.versionName
    }

    buildTypes {
        release {
            signingConfig = signingConfigs.debug
        }
    }
}

flutter {
    source = "../.."
}

settings.gradle

pluginManagement {
    def flutterSdkPath = {
        def properties = new Properties()
        file("local.properties").withInputStream { properties.load(it) }
        def flutterSdkPath = properties.getProperty("flutter.sdk")
        assert flutterSdkPath != null, "flutter.sdk not set in local.properties"
        return flutterSdkPath
    }()

    includeBuild("$flutterSdkPath/packages/flutter_tools/gradle")

    repositories {
        google()
        mavenCentral()
        gradlePluginPortal()
    }
}

plugins {
    id "dev.flutter.flutter-plugin-loader" version "1.0.0"
    id "com.android.application" version "8.1.0" apply false
    id "org.jetbrains.kotlin.android" version "1.8.22" apply false
}

include ":app"

Flutter Doctor输出

> flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.27.3, on Ubuntu 24.04.1 LTS 6.8.0-51-generic, locale en_US.UTF-8)
[✓] Android toolchain - develop for Android devices (Android SDK version 35.0.0)
[✓] Chrome - develop for the web
[✓] Linux toolchain - develop for Linux desktop
[✓] Android Studio (version 2024.1)
[✓] Android Studio (version 2024.2)
[✓] IntelliJ IDEA Ultimate Edition (version 2024.3)
[✓] VS Code (version 1.96.4)
[✓] VS Code (version 1.96.4)
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!

额外提示(创建新项目时)

创建新项目时收到Java与Gradle版本不兼容提示:

检测到的Java版本可能与新Flutter应用中的Gradle版本冲突。要保留默认AGP版本(Gradle 8.3),请下载兼容的Java版本(Java 17 ≤ 兼容版本 < Java 21)。通过运行flutter config --jdk-dir=<JDK_DIRECTORY>为Flutter全局配置此Java版本。
或者,要继续使用当前配置的Java版本,请将指定文件中的Gradle版本更新为兼容版本(兼容范围:8.4 - 8.7),也可以通过运行./gradlew wrapper --gradle-version=<COMPATIBLE_GRADLE_VERSION>更新使用的Gradle版本。

需求:找出依赖解析失败的原因(网络、仓库配置、Gradle版本兼容等),并获取修复指导。


解决方案

1. 解决网络访问问题

错误日志明确显示无法访问Maven Central仓库,优先排查网络:

  • 终端执行ping repo.maven.apache.org,或直接访问对应的pom文件链接,确认网络连通性。
  • 若处于代理环境,在项目的gradle.properties中添加代理配置:
    systemProp.http.proxyHost=你的代理地址
    systemProp.http.proxyPort=代理端口
    systemProp.https.proxyHost=你的代理地址
    systemProp.https.proxyPort=代理端口
    
    代理需认证时补充:
    systemProp.http.proxyUser=用户名
    systemProp.http.proxyPassword=密码
    systemProp.https.proxyUser=用户名
    systemProp.https.proxyPassword=密码
    
  • 切换到国内Maven镜像,在settings.gradle的pluginManagement和项目根build.gradle的repositories中添加:
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public' }
        maven { url 'https://maven.aliyun.com/repository/google' }
        google()
        mavenCentral()
        gradlePluginPortal()
    }
    

2. 修复Java与Gradle版本兼容问题

当前Java 21与默认Gradle 8.3不兼容,可能间接导致依赖解析异常:

  • 方案一:降级Java到17
    安装Java 17后,执行flutter config --jdk-dir=<Java17安装路径>为Flutter全局配置Java 17。
  • 方案二:升级Gradle到兼容版本
    进入项目android目录,执行:
    ./gradlew wrapper --gradle-version=8.7
    
    同时在settings.gradle中更新AGP版本到兼容8.7的版本(如8.4.0):
    plugins {
        id "com.android.application" version "8.4.0" apply false
    }
    

3. 强制刷新依赖缓存

执行以下命令彻底清理并重新拉取依赖:

flutter clean
rm -rf ~/.gradle/caches
cd android && ./gradlew clean build --refresh-dependencies
cd .. && flutter pub get

4. 检查仓库配置完整性

确保app/build.gradle的android块内添加必要仓库:

repositories {
    google()
    mavenCentral()
}

内容的提问来源于stack exchange,提问作者Raihan Firdaus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 16:10:53