Flutter引入local_auth后构建报错找不到appcompat-1.2.0.aar如何解决
问题修复指南
该问题属于Android Gradle构建阶段的依赖拉取故障,根源是local_auth:1.1.8依赖的androidx.appcompat:1.2.0系列包无法从谷歌maven源正常下载,和Flutter pub侧的依赖拉取无关,可通过以下方案修复:
方案1:替换国内Gradle镜像(国内用户优先选择)
打开项目根目录下的android/build.gradle文件,分别修改buildscript和allprojects代码块中的repositories配置,将国内阿里云镜像放在最前面优先拉取:
repositories { // 新增阿里云镜像源 maven { url 'https://maven.aliyun.com/repository/google' } maven { url 'https://maven.aliyun.com/repository/jcenter' } maven { url 'https://maven.aliyun.com/repository/public' } // 保留原有官方源作为兜底 google() mavenCentral() }
修改完成后依次执行以下命令重新构建即可:
flutter cleanflutter pub get- 重新运行项目
方案2:强制指定高版本兼容包
androidx.appcompat包向下兼容性极强,可在项目中强制指定更高版本的包跳过1.2.0版本的拉取:
打开android/app/build.gradle文件,在android代码块的末尾添加如下配置:
configurations.all { resolutionStrategy { force 'androidx.appcompat:appcompat:1.3.1' force 'androidx.appcompat:appcompat-resources:1.3.1' } }
修改后重新构建项目即可,不会影响local_auth的正常功能。
方案3:手动使用已有的aar文件
持有缺失的aar文件时完全可以手动配置使用,有两种常用方式:
方式1:放入Gradle本地缓存
不同系统的缓存路径如下,将对应的aar文件放入对应版本目录即可:
- Windows:
C:\Users\你的用户名\.gradle\caches\modules-2\files-2.1\androidx.appcompat\ - Mac/Linux:
~/.gradle/caches/modules-2/files-2.1/androidx.appcompat/
分别在上述目录下新建appcompat/1.2.0、appcompat-resources/1.2.0文件夹,把对应aar文件放入后重启IDE重新构建即可。
方式2:放入项目本地依赖目录
将两个aar文件放入项目的android/app/libs目录(没有libs文件夹就新建一个),之后修改android/app/build.gradle:
- 在
repositories块中添加:
flatDir { dirs 'libs' }
- 在
dependencies块中添加:
implementation fileTree(dir: 'libs', include: ['*.aar'])
修改后重新构建即可,Gradle会优先读取本地的aar文件。
内容的提问来源于stack exchange,提问作者Mohsen Emami
相关产品推荐
相关产品推荐

