Flutter项目运行报错:无法解析:classpath配置的依赖文件
Flutter新项目运行时Gradle无法解析依赖的解决方案
问题描述
刚安装Android Studio并创建Flutter新项目,运行默认代码时出现如下错误:
FAILURE: Build failed with an exception. * What went wrong: A problem occurred configuring root project 'android'. > Could not resolve all files for configuration ':classpath'. > Could not find bundletool-1.8.2.jar (com.android.tools.build:bundletool:1.8.2). Searched in the following locations: https://dl.google.com/dl/android/maven2/com/android/tools/build/bundletool/1.8.2/bundletool-1.8.2.jar > Could not find transform-api-2.0.0-deprecated-use-gradle-api.jar (com.android.tools.build:transform-api:2.0.0-deprecated-use-gradle-api). Searched in the following locations: https://dl.google.com/dl/android/maven2/com/android/tools/build/transform-api/2.0.0-deprecated-use-gradle-api/transform-api-2.0.0-deprecated-use-gradle-api.jar > Could not find jetifier-processor-1.0.0-beta09.jar (com.android.tools.build.jetifier:jetifier-processor:1.0.0-beta09). Searched in the following locations: https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-processor/1.0.0-beta09/jetifier-processor-1.0.0-beta09.jar > Could not find jetifier-core-1.0.0-beta09.jar (com.android.tools.build.jetifier:jetifier-core:1.0.0-beta09). Searched in the following locations: https://dl.google.com/dl/android/maven2/com/android/tools/build/jetifier/jetifier-core/1.0.0-beta09/jetifier-core-1.0.0-beta09.jar > Could not find core-proto-0.0.8-alpha07.jar (com.google.testing.platform:core-proto:0.0.8-alpha07). Searched in the following locations: https://dl.google.com/dl/android/maven2/com/google/testing/platform/core-proto/0.0.8-alpha07/core-proto-0.0.8-alpha07.jar * 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 2s Exception: Gradle task assembleDebug failed with exit code 1
当前项目根目录下的build.gradle配置如下:
buildscript { ext.kotlin_version = '1.8.0' repositories { google() mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:7.2.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() mavenCentral() } } rootProject.buildDir = '../build' subprojects { project.buildDir = "${rootProject.buildDir}/${project.name}" } subprojects { project.evaluationDependsOn(':app') } task clean(type: Delete) { delete rootProject.buildDir }
已确认浏览器可正常访问上述依赖链接,但Gradle无法解析,尝试过常见解决方案无效。
解决步骤
1. 检查并调整Gradle代理配置
- 打开项目根目录下的
gradle.properties文件,查看是否存在代理相关配置(如systemProp.http.proxyHost、systemProp.https.proxyHost)。 - 若未使用代理,删除所有代理配置项;若使用代理,确保代理地址、端口、认证信息正确,且代理允许访问Google Maven仓库。
- 保存文件后,执行
flutter clean,再重新运行项目。
2. 替换为国内Maven镜像仓库
由于国内访问Google Maven仓库可能存在不稳定情况,可将仓库地址替换为国内镜像:
修改根目录build.gradle中的repositories块:
buildscript { ext.kotlin_version = '1.8.0' repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } } dependencies { classpath 'com.android.tools.build:gradle:7.2.2' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/public' } } }
修改后执行flutter clean,再重新构建项目。
3. 清理Gradle本地缓存
Gradle缓存损坏可能导致依赖解析失败,清理步骤:
- 关闭Android Studio。
- 删除本地Gradle缓存目录:
- Windows:
C:\Users\<你的用户名>\.gradle\caches - Mac/Linux:
~/.gradle/caches
- Windows:
- 重新打开项目,执行
flutter pub get,再运行项目。
4. 检查Gradle版本与插件版本兼容性
Android Gradle插件与Gradle版本需匹配,插件7.2.2对应Gradle版本为7.3.3:
- 打开项目中
android/gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.3.3-all.zip
- 保存后重新运行项目。
5. 手动下载依赖并放入本地仓库
若上述方法无效,可手动下载依赖并放置到Gradle本地仓库对应路径:
- 通过浏览器下载所有提示缺失的jar包。
- 找到本地Gradle仓库的对应路径,例如
bundletool-1.8.2.jar需放入:- Windows:
C:\Users\<你的用户名>\.gradle\caches\modules-2\files-2.1\com.android.tools.build\bundletool\1.8.2\<随机哈希值> - Mac/Linux:
~/.gradle/caches/modules-2/files-2.1/com.android.tools.build/bundletool/1.8.2/<随机哈希值>
哈希值可通过查看Gradle错误日志中的具体路径获取,或创建临时项目触发下载后查看缓存目录结构。
- Windows:
- 将下载的jar包放入对应路径后,重新运行项目。
内容的提问来源于stack exchange,提问作者AZIN
相关产品推荐
相关产品推荐

