Android Studio中替换aar包不生效

1. 前言

最近遇到一个奇怪的问题。因为第三方的SDK要更新,是一个aar包,所以我就跟以往一样,直接复制粘贴替换掉,然后Synchronize(快捷键:Ctrl+Alt+Y) → Clean Project → Rebuild Project。可是我发现,新包的API我调用不了,Android Studio提示没有这个方法。然后我就重新按照上面的流程再走一遍,还是不行。尝试了很多次,依旧不行。查了资料,说是可能是缓存的问题,按照推荐的方法尝试了一下就可以了。下面我就详细介绍一下解决方案。

2. 解决方案

1)复制新的aar包,替换掉旧的aar包

2)在ExternalLibrary中找出对应的aar包,右键选择Analyze → Code Cleanup

3)清除Android的依赖缓存,删除C盘用户目录下的 .android\build-cache 中的所有文件和 .gradle\caches\modules-2\files-2.1 下对应的文件(文件名和aar包的名字一样)

4)最后再做几个操作:Synchronize(快捷键:Ctrl+Alt+Y) → Clean Project → Rebuild Project

5)如果还是不行,可以把 1)至 4)再试一次,一般一次就可以了

6)如果上面的几个步骤还是不行的话,可以考虑在app主模块中的build.gradle文件中加上

android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

有可能是第三方的SDK是在Java 7环境下编译打包的,而我们自己的开发环境不是Java 7,这种情况就有可能造成新的aar包无法编译成功,新的API自然无法拿到。

3. 补充

如果上面的方案解决不了,而你又不在意aar包的名字或者有权利去修改aar包的名字,那你可以试试修改aar包的名字。这样操作基本上是可以加载到新的aar的了。

发布了43 篇原创文章 · 获赞 34 · 访问量 9万+

猜你喜欢

转载自blog.csdn.net/Fantasy_Lin_/article/details/78770007