Flutter项目构建失败:无法找到permissions-3.8.aar依赖
修复Flutter构建时
Could not find permissions-3.8.aar错误 问题原因
com.nabinbhandari.android:permissions:3.8仅托管在已停止服务的JCenter仓库,而JCenter已归档不再提供包下载服务,导致Gradle无法拉取该依赖。
修复方案
方案1:强制升级权限库到MavenCentral可用版本
该权限库的最新版本已迁移至MavenCentral,可通过Gradle强制解析策略替换旧版本:
- 打开项目根目录的
build.gradle,移除所有jcenter()仓库配置(已废弃,无需保留):buildscript { ext.kotlin_version = '1.9.0' repositories { google() mavenCentral() maven { url "https://plugins.gradle.org/m2/" } } dependencies { classpath 'com.android.tools.build:gradle:7.3.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" } } allprojects { repositories { google() maven { url "https://plugins.gradle.org/m2/" } mavenCentral() } } - 在
app/build.gradle的android代码块中添加强制版本解析规则:android { // 其他配置... compileSdkVersion 34 configurations.all { resolutionStrategy { force 'com.nabinbhandari.android:permissions:4.1' } } } - 执行清理并重新构建:
flutter clean flutter pub get flutter run
方案2:替换为Flutter官方权限插件
如果方案1无效,建议迁移至更稳定的官方权限处理插件permission_handler:
- 在
pubspec.yaml中添加依赖:dependencies: permission_handler: ^11.0.1 - 移除项目中依赖旧权限库的第三方插件(如旧版本
video_compress),或升级该插件至已替换依赖的最新版本。 - 按照
permission_handler官方配置步骤完成Android端设置,再执行清理构建。
额外检查
- 确认你的Flutter插件(如
video_compress)是否有更新版本,新版本可能已替换对JCenter依赖的引用。 - 确保
mavenCentral()在所有仓库配置中优先级最高。
内容的提问来源于stack exchange,提问作者Feadl van Krockk
相关产品推荐
相关产品推荐

