Android Studio Gradle同步失败求助:3.1稳定版及2.3.3均报错
解决Android Studio Gradle同步失败:Guava方法访问权限异常
这个错误我太熟悉了——本质是Android Studio内置的Guava库和Gradle依赖的Guava版本冲突,导致com.google.common.collect.Iterators.emptyIterator()方法的访问权限出现问题,再加上缓存目录里的旧依赖残留,就触发了cp_init相关的缓存打开异常。不管是3.1稳定版还是降级到2.3.3,只要缓存没清干净或者版本不匹配,都会踩这个坑。
下面是经过验证的解决步骤,按顺序尝试:
1. 彻底清理缓存(最关键的第一步)
缓存残留是这个问题的重灾区,先把旧缓存全清掉:
- 完全关闭Android Studio
- 删除以下目录:
- Android Studio缓存:对应3.1版本是
~/.AndroidStudio3.1/system/caches,2.3.3版本则是~/.AndroidStudio2.3/system/caches - Gradle全局缓存:
~/.gradle/caches
- Android Studio缓存:对应3.1版本是
- 重新启动Android Studio,创建新项目后尝试同步
2. 强制指定兼容的Gradle与Guava版本
如果清理缓存后还是报错,就手动锁定版本来解决冲突:
- 打开项目根目录的
build.gradle文件,修改buildscript和全局依赖配置:
buildscript { repositories { google() jcenter() } dependencies { // 针对Android Studio 3.1,推荐用gradle 3.1.4插件,匹配gradle 4.4 classpath 'com.android.tools.build:gradle:3.1.4' // 强制指定与Gradle兼容的Guava版本 classpath 'com.google.guava:guava:23.0' } } allprojects { repositories { google() jcenter() } // 全局强制所有模块使用指定的Guava版本,避免冲突 configurations.all { resolutionStrategy.force 'com.google.guava:guava:23.0' } }
- 打开
gradle/wrapper/gradle-wrapper.properties,修改Gradle分发地址:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
- 点击Android Studio工具栏的
Sync Project with Gradle Files按钮,等待同步完成
3. 检查系统环境与本地依赖
如果上面两步都没用,再排查环境问题:
- 检查系统环境变量里有没有
GRADLE_OPTS这类参数,避免它们引入外部的Guava库干扰内置依赖 - 清理本地maven仓库里的旧Guava包(通常在
~/.m2/repository/com/google/guava目录),让Gradle重新下载兼容版本
这个问题在Android Studio 3.x早期版本和Gradle 4.x的组合中很常见,核心就是版本不匹配导致的方法访问权限问题,按上面的步骤来基本都能解决。
内容的提问来源于stack exchange,提问作者Dustin Thurston
相关产品推荐
相关产品推荐

