Android studio升级2.3 Refreshing xxx Gradle Project的问题

本文介绍了一种解决从Android Studio 2.2升级到2.3后,项目加载时出现的Refresh卡死现象的方法。通过更换Gradle版本并调整配置,可以有效解决该问题。


从Android studio2.2升级2.3,安装完成后,再次进入项目,就一直卡死在Refresh,等了半天都没刷新好。。。


这是啥问题,具体不清楚,估计是请求网络啥的出现问题了。


不能这样一直让它刷新着啊,就换种办法用Android studio能用起来吧。


解决办法:

前提:下载好gradle 3.3以上的版本,因为要使用Android studio 2.3需要至少gradle3.3的版本

gradle relesase版本下载地址

我这里下载的是gradle 3.4版本


1.打开Android studio的设置


2.在设置里搜索框里输入gradle,在右边会看到Project-level settings

可以看到默认选中的是Use default gradle wrapper

我们修改一下设置,选中Use local gralde distribution


将下载好的gradle 3.4解压到文件夹里,我这里解压的是Android studio自带gradle的默认路径。

/Applications/Android Studio.app/Contents/gradle/


如果没有此路径,随便一个文件夹都行。


3.设置gradle home

选中Use local gradle distribution,然后指定Gradle Home

将解压后的gradle 3.4的绝对路径填入


点击OK,然后Android studio会自动刷新设置,然后根据Android studio的提示一步步来就解决啦


Android studio 2.3更新点

Android studio 2.3下载地址



既然你确认 C 盘和 D 盘的两个项目是**独立克隆**,且 `.git` 目录完全独立(不是共享或 worktree),并且之前一直正常工作,只是在**昨晚编译 App 后突然出现 Git 映射错乱**,那问题很可能与 Android Studio 的缓存更新、后台索引重建或构建过程中的临时状态干扰有关。 --- ### 可能原因分析 1. **Android Studio 自动扫描并误关联了同名仓库** - AS 有时会在后台扫描磁盘上的 Git 仓库(尤其是最近打开过的项目路径)。 - 如果两个项目结构完全一致(同名目录、同名模块),AS 的启发式匹配机制可能“猜错了” Git 根目录。 2. **编译触发了 .idea 文件的自动更新或索引重建** - 构建过程中,GradleAS 插件可能会重新解析项目结构。 - 若此时 IDE 正好在做版本控制索引刷新(如 `Refreshing VCS`),它可能读取到了旧的缓存路径或交叉引用。 3. **vcs.xml 被意外修改** - 即使不是手动复制,某些插件或重构操作也可能导致 `.idea/vcs.xml` 中的 mapping 被错误地同步或覆盖。 - 检查该文件是否仍正确指向当前项目的根目录: ```xml <mapping directory="$PROJECT_DIR$" vcs="Git" /> ``` 确保没有硬编码为 C 盘路径。 4. **IDE 缓存损坏或索引错乱** - AS 在长时间运行或大构建后可能出现内存中模型与实际路径不一致。 - 特别是当你同时打开过 C 盘项目和 D 盘项目,AS 可能在切换时“混淆上下文”。 5. **文件系统事件监听异常(Windows + AS Bug)** - Windows 上的 AS 偶尔会因文件监控服务(如 WSL、OneDrive、防病毒软件干扰)导致路径监听出错,误认为某个目录是另一个的映射。 --- ### 解决方案 #### ✅ 1. 强制重置 Git 映射 - 打开 D 盘项目 → **File → Settings → Version Control** - 在右侧列表中找到当前项目路径,**删除所有映射** - 点击 `+` 号重新添加当前项目根目录,确保选择的是 D 盘路径 - 应用设置,重启 AS #### ✅ 2. 清理 IDE 缓存(非清除全部设置) - 关闭项目 - 在欢迎界面点击 **"More Actions" → "Invalidate Caches…"** - 选择 **"Invalidate and Restart"** - 重启后让 AS 重新索引项目 #### ✅ 3. 检查 `.idea/vcs.xml` 内容 打开 D 盘项目的 `.idea/vcs.xml`,确认内容类似: ```xml <component name="VcsDirectoryMappings"> <mapping directory="$PROJECT_DIR$" vcs="Git" /> </component> ``` **不要有具体 C 盘路径**,如 `<mapping directory="C:/xxx" ... />` 如果有,说明被错误写入,手动删除该行或整个 component 后重启 AS。 #### ✅ 4. 验证两个项目的 `.git` 独立性 在 D 盘项目根目录执行: ```bash git config --get remote.origin.url git rev-parse HEAD ``` 对比 C 盘项目的结果。如果 URL 相同但 `HEAD` 不同(不同 commit),说明确实是两个独立克隆,排除了 worktree 或软链接问题。 #### ✅ 5. 检查是否启用了“Use nested git repositories”** - Settings → Version Control → Git - 查看是否有选项影响嵌套仓库识别(虽然少见) --- ### 如何防止再次发生? - 避免频繁在两个同名项目之间切换打开。 - 不要将两个独立克隆设为“同一个项目名”在 AS 的“Recent Projects”中(可重命名其中一个用于区分)。 - 定期清理缓存,尤其是在大型构建或重构之后。 --- ### 总结 你遇到的问题很可能是:**Android Studio 在编译后触发了索引重建,结合路径相似性和缓存残留,导致其错误地将 D 盘项目的 Git 上下文关联到了 C 盘项目**。这不是 Git 本身的错误,而是 IDE 层的误识别。通过重置 VCS 映射 + 清除缓存即可解决。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值