这些 GB 实际藏在哪里
Android 对磁盘的胃口分摊在四块领地上,了解这些路径很重要,因为 IDE 只管理其中一块。SDK 位于 %LOCALAPPDATA%\Android\Sdk,模拟器的虚拟设备位于 %USERPROFILE%\.android\avd,Gradle 位于 %USERPROFILE%\.gradle——每一处都有自己的清理规则,也都有在你盲目删除时反咬一口的方式。
最严重的是 SDK 系统镜像:你曾经接受过的每一个“Android 版本 × CPU 架构”组合,每个 1–2 GB,被永久保留。模拟器的 AVD 排第二——一台带快照和 qcow2 磁盘的虚拟设备就能超过 10 GB。Gradle 缓存累积着所有项目解析过的每一个依赖,而每个项目的 build/ 文件夹则堆着你早已忘记存在的中间产物。
- %LOCALAPPDATA%\Android\Sdk\system-images — 下载过的每一个 Android 版本与 ABI 组合,每个 1–2 GB
- %USERPROFILE%\.android\avd — 模拟器镜像;带快照和 qcow2 磁盘的一个 AVD 轻松超过 10 GB
- %USERPROFILE%\.gradle\caches — 所有项目解析过的全部依赖;可安全重建,常常超过 20 GB
- %USERPROFILE%\.gradle\wrapper\dists — 任何项目请求过的每一个 Gradle 版本,每个约 150 MB
- 每个项目内的 build/ 和 .gradle/ — 随时可以删除的中间产物和项目级缓存
- %LOCALAPPDATA%\Google\AndroidStudio* — IDE 自身的索引、日志和缓存,每次升级后都会重生
哪些可以安全删除——哪些永远不行
凡是存在管理界面的地方,都请通过界面删除。在 SDK Manager 中卸载低于 minSdk 的 Android 版本的系统镜像和旧版 build-tools,这会更新元数据并保持 SDK 一致。在 Device Manager 中删除不再使用的 AVD;对表现异常的设备,优先在其下拉菜单中选择 Wipe Data——相当于恢复出厂,而不是留着一块 10 GB 的化石。
Gradle 缓存可以整体清空——下一次构建会重新下载所需内容,代价是时间和带宽,而不是损坏。各项目的 build/ 文件夹同理,因此归档项目前值得先清一次 build/。绝不能整体删除的是 %USERPROFILE%\.android 本身:它保存着你的 debug keystore 和 adb 密钥,丢失 debug keystore 意味着要在你的每一台设备上重新安装每一个调试版安装包。
以后如何保持精简
把三个习惯固化进日常。minSdk 上调时,花五分钟在 SDK Manager 里移除低于它的版本。每个设备形态只保留一个当前镜像而不是五个,而且只需要一台“干净”设备时优先用 Wipe Data 而非快照。如果 C: 盘吃紧,通过 Settings → Languages & Frameworks → Android SDK 迁移 SDK,并把 GRADLE_USER_HOME 指向另一个盘。
至于反复出现的残留——Gradle 缓存、IDE 缓存与日志、项目 build/ 文件夹——每年两次清理就能控制总量。熟悉开发者目录的工具(例如 Kleaner PRO 的 dev-caches 类别)可以一次清除 Gradle 和 IDE 残留并放过 keystore;无论用哪种方式,都请先关闭 Studio,免得删除过程中文件被锁定。
常见问题与解答
删除 Gradle 缓存文件夹安全吗?
安全——先关闭 Studio,再删除 %USERPROFILE%\.gradle\caches。下次构建会重新下载所需内容;代价是时间,而不是损坏。
如何从 Android 模拟器释放空间?
在 Android Studio 中打开 Device Manager,删除不再使用的 AVD,并对保留的设备执行 Wipe Data——一个被遗忘的镜像可能就占着 10 GB。
继续阅读
联系我们: [email protected]