Skip to content

当您尝试替换一个 .aar / .jar 文件但更改不生效时,通常有几个可能的原因。按下面的顺序排查,命中率最高

第一步:清缓存(最常见原因)

Gradle 会缓存依赖项以加快构建,你替换了文件但构建仍用旧缓存。

做法(任选其一):

  • Android Studio:FileInvalidate Caches / RestartInvalidate 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.gradlecompileSdk / AGP 版本是否匹配。


一句话总结:替换不生效 = 先清缓存(Gradle 用旧缓存)、再 Sync、再查同名冲突,三步解决绝大多数情况。