Android AS中清空缓存中的第三方包或者gradle

在实际利用AS开发android应用的时候,我们不可避免的会自动引用第三方架包或者各个版本的gradle,很多时候我们在引用的时候并没有去指定引用的版本,这就可能出现我们引用的版本不对,导致功能无法实现。我是在集成Mob推送的时候发现华为手机测试推送功能一切正常,但测试小米手机推送的时候就发现这个功能不正常,时灵时不灵的感觉,困了三四天才把问题解决。最后的原因基本有这个几方面:1.mob自动同步的版本不对;2.gradle有多个版本

首先,我们来看怎么删除第三方架包,此处我以MOB同步的版本为例

我们的AS中工程目录的External Libraries目录下就是我们sync的所有包,如下图:

android moudle已删除 androidserviceslibrary删除_Android AS


我们在该目录下,能看到所有集成MOB所引用的包的版本,之前MobPush引用的版本是1.0.2,而正确的是现在的2.2.0。如下图:

android moudle已删除 androidserviceslibrary删除_Android AS_02


在找到了版本不对的包后,现在正式开始去删除。关闭AS,找到如下目录:C:\Users\Administrator.gradle,看到这个目录下面有一个caches文件,我们所有的缓存都在这个目录里面了。继续往下找caches\modules-2\files-2.1这个目录,这个里面就是我们引用的第三方架包,找到对应的包(我此处为mob的包),删除即可,如下:

android moudle已删除 androidserviceslibrary删除_重启_03


然后,返回到上一级目录,在下图所示的目录中去删除各个版本所引用包。

android moudle已删除 androidserviceslibrary删除_Android AS_04


具体如下:

android moudle已删除 androidserviceslibrary删除_缓存_05


都删除完了后,重启AS,重新同步即可到对应的版本

上面的是删除架包,现在是删除gradle版本

如下图,图中的4.4就是我当前的gradle版本,删除其余的版本,只保留当前的版本:

android moudle已删除 androidserviceslibrary删除_推送_06


那么我们如何知道我们当前的版本是多少呢,在AS打开我们的工程目录,找到如下目录下的文件:

android moudle已删除 androidserviceslibrary删除_android moudle已删除_07


打开对应的文件,里面就有当前项目的gradle版本了。

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

ps:当然,这是最后的办法了,如果我们能通过AS菜单栏的Build 目录下的Clean Project和File目录下的Invalidate Caches/Restart来解决问题就最好了。