Android Studio中替换aar包不生效

来源:互联网 发布:古埃及神话知乎 编辑:程序博客网 时间:2024/06/07 02:09

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自然无法拿到。