当您尝试替换一个 .aar / .jar 文件但更改不生效时,通常有几个可能的原因。按下面的顺序排查,命中率最高:
第一步:清缓存(最常见原因)
Gradle 会缓存依赖项以加快构建,你替换了文件但构建仍用旧缓存。
做法(任选其一):
- Android Studio:
File→Invalidate Caches / Restart→Invalidate and Restart - 手动删除项目目录下的
.gradle和.idea文件夹后重新构建 - 删除用户目录下的 Gradle 缓存
~/.gradle/caches后重新构建
90% 的"替换不生效"都是这一步解决的——你换的是文件,但 Gradle 用的是缓存。
第二步:确认依赖声明
确保 build.gradle 正确声明了 .aar 文件且路径指向你替换后的文件:
gradle
implementation files('libs/your-library.aar')替换同名文件后,点一下 Sync Project with Gradle Files,让 Gradle 重新解析依赖。
第三步:检查同名冲突
如果 libs 目录下存在多个同名的 .aar(比如新旧版本都叫 library.aar),Gradle 可能用了第一个找到的。删除旧的,只留一个。
第四步:检查远程仓库版本
如果依赖来自远程 Maven 仓库(implementation 'com.xxx:lib:1.0.0'),版本号没变但仓库已更新,Gradle 可能仍用本地缓存的旧版本。清除本地缓存后重新 Sync,或升级版本号强制拉新。
第五步:检查 Gradle 版本兼容
个别情况下 Gradle 版本与 .aar 不兼容(比如构建产物要求更高 AGP 版本)。检查 build.gradle 的 compileSdk / AGP 版本是否匹配。
一句话总结:替换不生效 = 先清缓存(Gradle 用旧缓存)、再 Sync、再查同名冲突,三步解决绝大多数情况。
