# Android Studio C 盘空间清理 > 适用系统:Windows 10/11,PowerShell。 > 本文结合 2026-06-30 本机实测结果整理,重点服务 Android Studio、Gradle、Android SDK 占用排查和安全清理。 --- ## 一、问题背景 Android Studio 开发环境会在 C 盘积累大量文件,常见来源包括: | 现象 | 常见原因 | 影响 | |---|---|---| | C 盘空间不足 | Android SDK、Gradle 缓存、Android Studio 缓存持续增长 | 无法安装新软件或更新系统 | | 构建速度变慢 | 缓存损坏、旧版本依赖堆积 | 编译失败或反复下载依赖 | | IDE 启动变慢 | 索引、插件、日志、缓存过多 | Android Studio / VS Code 响应变慢 | | 模拟器占用大 | system-images、AVD 镜像、快照文件堆积 | C 盘快速膨胀 | 本机实测: | 时间 | C 盘剩余空间 | 说明 | |---|---:|---| | 清理前 | `10.63 GB` | C 盘接近紧张 | | 第一批安全缓存清理后 | `15.40 GB` | 释放 `4.77 GB` | | 第二批 Gradle 缓存清理后 | `22.05 GB` | 追加释放 `6.65 GB` | --- ## 二、清理原则 ### 2.1 先扫描,后清理 清理前必须先确认: 1. 当前 C 盘剩余空间。 2. 哪些目录占用最高。 3. 目标目录是否是缓存、临时文件或可重新下载的数据。 4. 是否需要备份。 5. 是否会影响当前 Android / Gradle 项目构建。 ### 2.2 删除前确认备份 本地删除操作执行前必须明确询问: ```text 是否先备份? ``` 如果用户明确回复“不备份”,再执行清理。 如果目录可能包含账号数据、聊天记录、工程源码、SDK 必需组件,不应直接删除。 ### 2.3 清理风险分级 | 等级 | 类型 | 示例 | 建议 | |---|---|---|---| | 低风险 | 临时文件、下载缓存、可再生安装包缓存 | `Temp`、`npm-cache`、VS Code 扩展安装包缓存 | 可直接清理 | | 中低风险 | 构建缓存 | `.gradle\caches`、`.gradle\daemon`、`.gradle\wrapper` | 可清理,但下次构建会重新下载 | | 中风险 | SDK 可选组件 | NDK、system-images、旧版 build-tools | 需要确认开发需求 | | 高风险 | 配置、账号、聊天、项目数据 | Tencent、kingsoft、Android Studio 配置、工程目录 | 不建议手动删除 | --- ## 三、常见占用目录 ### 3.1 Android 开发相关目录 | 目录 | 变量表示 | 说明 | 本机实测 | |---|---|---|---:| | Android SDK | `%LOCALAPPDATA%\Android\Sdk` | SDK、平台、构建工具、模拟器镜像 | `7.72 GB` | | Android Studio 缓存 | `%LOCALAPPDATA%\Google\AndroidStudio2025.2.2` | IDE 索引、插件、缓存 | `4.92 GB` | | Gradle 缓存 | `%USERPROFILE%\.gradle` | Gradle 依赖、Wrapper、Daemon | 清理前约 `6.5 GB` | | Android Studio 程序 | `%ProgramFiles%\Android` | IDE 安装目录 | `3.09 GB` | | Android 配置 | `%USERPROFILE%\.android` | AVD 配置、adb key 等 | 本机较小 | ### 3.2 本机当前高占用目录 清理两批缓存后,C 盘主要占用如下: | 路径 | 占用 | 判断 | |---|---:|---| | `C:\Users` | `52.19 GB` | 用户数据最大头 | | `C:\Program Files` | `22.38 GB` | 程序安装目录 | | `C:\Windows` | `22.06 GB` | 系统目录,不建议手动动 | | `C:\Program Files (x86)` | `5.22 GB` | 32 位程序 | | `C:\ProgramData` | `4.28 GB` | 程序公共数据 | `Administrator\AppData` 仍是重点: | 路径 | 占用 | 说明 | | ------------------------------ | --------: | ----------------------- | | `AppData\Local\Android` | `7.72 GB` | Android SDK | | `AppData\Local\Google` | `7.43 GB` | Chrome + Android Studio | | `AppData\Roaming\Tencent` | `3.05 GB` | 微信/企微/腾讯相关数据 | | `AppData\Local\Packages` | `2.28 GB` | Windows 应用数据 | | `AppData\Local\Microsoft` | `2.28 GB` | Edge、WinGet、系统应用缓存等 | | `AppData\Roaming\kingsoft` | `2.06 GB` | WPS 相关数据 | | `AppData\Roaming\TDAppDesktop` | `1.74 GB` | 腾讯文档 | --- ## 四、PowerShell 扫描命令 ### 4.1 查看 C 盘总空间 ```powershell Get-PSDrive -Name C | Select-Object ` @{Name='UsedGB';Expression={[math]::Round($_.Used/1GB,2)}}, ` @{Name='FreeGB';Expression={[math]::Round($_.Free/1GB,2)}}, ` @{Name='TotalGB';Expression={[math]::Round(($_.Used+$_.Free)/1GB,2)}} | Format-List ``` ### 4.2 扫描 C 盘根目录占用 ```powershell $rows = @() Get-ChildItem -LiteralPath 'C:\' -Force -ErrorAction SilentlyContinue | Where-Object { -not ($_.Attributes -band [IO.FileAttributes]::ReparsePoint) } | ForEach-Object { $sum = 0 if ($_.PSIsContainer) { $sum = (Get-ChildItem -LiteralPath $_.FullName -Force -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum } else { $sum = $_.Length } if ($null -eq $sum) { $sum = 0 } $rows += [PSCustomObject]@{ Path = $_.FullName SizeGB = [math]::Round(($sum / 1GB), 2) } } $rows | Sort-Object SizeGB -Descending | Select-Object -First 25 | Format-Table -AutoSize ``` ### 4.3 扫描 Android / Gradle 相关目录 ```powershell $paths = @( "$env:LOCALAPPDATA\Android\Sdk", "$env:LOCALAPPDATA\Google\AndroidStudio2025.2.2", "$env:USERPROFILE\.gradle", "$env:USERPROFILE\.android", "$env:ProgramFiles\Android" ) $rows = @() foreach ($p in $paths) { if (Test-Path -LiteralPath $p) { $sum = (Get-ChildItem -LiteralPath $p -Force -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum if ($null -eq $sum) { $sum = 0 } $rows += [PSCustomObject]@{ Path = $p SizeGB = [math]::Round(($sum / 1GB), 2) } } } $rows | Sort-Object SizeGB -Descending | Format-Table -AutoSize ``` ### 4.4 扫描 SDK 子目录 ```powershell $sdk = "$env:LOCALAPPDATA\Android\Sdk" Get-ChildItem -LiteralPath $sdk -Force -ErrorAction SilentlyContinue | Where-Object { $_.PSIsContainer } | ForEach-Object { $sum = (Get-ChildItem -LiteralPath $_.FullName -Force -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum if ($null -eq $sum) { $sum = 0 } [PSCustomObject]@{ Path = $_.FullName SizeGB = [math]::Round(($sum / 1GB), 2) } } | Sort-Object SizeGB -Descending | Format-Table -AutoSize ``` ### 4.5 扫描 Gradle 子目录 ```powershell $gradle = "$env:USERPROFILE\.gradle" Get-ChildItem -LiteralPath $gradle -Force -ErrorAction SilentlyContinue | ForEach-Object { $sum = 0 if ($_.PSIsContainer) { $sum = (Get-ChildItem -LiteralPath $_.FullName -Force -Recurse -File -ErrorAction SilentlyContinue | Measure-Object -Property Length -Sum).Sum } else { $sum = $_.Length } if ($null -eq $sum) { $sum = 0 } [PSCustomObject]@{ Path = $_.FullName SizeGB = [math]::Round(($sum / 1GB), 2) } } | Sort-Object SizeGB -Descending | Format-Table -AutoSize ``` --- ## 五、安全清理清单 ### 5.1 第一批:低风险缓存 本机已执行,实际释放 `4.77 GB`。 | 路径 | 清理前 | 清理后 | 风险 | |---|---:|---:|---| | `%LOCALAPPDATA%\Temp` | `1.40 GB` | `0.05 GB` | 低 | | `%APPDATA%\npm-cache` | `1.09 GB` | `0 GB` | 低 | | `%APPDATA%\Code\CachedExtensionVSIXs` | `1.12 GB` | `0 GB` | 低 | | `%LOCALAPPDATA%\tdappdesktop-updater` | `0.43 GB` | `0 GB` | 低 | | `%LOCALAPPDATA%\timetrack-ui-updater` | `0.29 GB` | `0 GB` | 低 | | `%LOCALAPPDATA%\obsidian-updater` | `0.28 GB` | `0 GB` | 低 | | `%LOCALAPPDATA%\@getpaseodesktop-updater` | `0.21 GB` | `0 GB` | 低 | ### 5.2 第二批:Gradle 缓存 本机已执行,实际释放 `6.65 GB`。 | 路径 | 清理前 | 清理后 | 风险 | |---|---:|---:|---| | `%USERPROFILE%\.gradle\caches` | `4.81 GB` | `0 GB` | 中低 | | `%USERPROFILE%\.gradle\daemon` | `0.30 GB` | `0 GB` | 低 | | `%USERPROFILE%\.gradle\wrapper` | `1.39 GB` | `0 GB` | 中低 | 影响: - 下次 Android / Gradle 项目构建会重新下载 Gradle 发行包和依赖。 - 第一次构建会明显变慢。 - 依赖重新下载完成后恢复正常。 --- ## 六、安全清理脚本 ### 6.1 第一批低风险缓存 执行前请先确认:已决定不备份,且目标路径与清单一致。 ```powershell $targets = @( "$env:LOCALAPPDATA\Temp", "$env:APPDATA\npm-cache", "$env:APPDATA\Code\CachedExtensionVSIXs", "$env:LOCALAPPDATA\tdappdesktop-updater", "$env:LOCALAPPDATA\timetrack-ui-updater", "$env:LOCALAPPDATA\obsidian-updater", "$env:LOCALAPPDATA\@getpaseodesktop-updater" ) foreach ($target in $targets) { if (-not (Test-Path -LiteralPath $target)) { continue } $resolved = (Resolve-Path -LiteralPath $target -ErrorAction Stop).ProviderPath.TrimEnd('\') $expected = $target.TrimEnd('\') if ($resolved -ne $expected) { throw "Refusing to clean unexpected path: $resolved" } Get-ChildItem -LiteralPath $resolved -Force -ErrorAction SilentlyContinue | ForEach-Object { Remove-Item -LiteralPath $_.FullName -Recurse -Force -ErrorAction SilentlyContinue } } ``` ### 6.2 第二批 Gradle 缓存 ```powershell $targets = @( "$env:USERPROFILE\.gradle\caches", "$env:USERPROFILE\.gradle\daemon", "$env:USERPROFILE\.gradle\wrapper" ) foreach ($target in $targets) { if (-not (Test-Path -LiteralPath $target)) { continue } $resolved = (Resolve-Path -LiteralPath $target -ErrorAction Stop).ProviderPath.TrimEnd('\') $expected = $target.TrimEnd('\') if ($resolved -ne $expected) { throw "Refusing to clean unexpected path: $resolved" } Get-ChildItem -LiteralPath $resolved -Force -ErrorAction SilentlyContinue | ForEach-Object { Remove-Item -LiteralPath $_.FullName -Recurse -Force -ErrorAction SilentlyContinue } } ``` ### 6.3 清理后复查 ```powershell Get-PSDrive -Name C | Select-Object ` @{Name='UsedGB';Expression={[math]::Round($_.Used/1GB,2)}}, ` @{Name='FreeGB';Expression={[math]::Round($_.Free/1GB,2)}}, ` @{Name='TotalGB';Expression={[math]::Round(($_.Used+$_.Free)/1GB,2)}} | Format-List ``` --- ## 七、Android SDK 按需清理 Android SDK 不建议直接整目录删除,应优先通过 Android Studio 的 SDK Manager 管理。 菜单路径: ```text Tools -> SDK Manager ``` ### 7.1 可按需删除的 SDK 组件 | 组件 | 路径 | 是否可删 | 判断标准 | |---|---|---|---| | NDK | `%LOCALAPPDATA%\Android\Sdk\ndk` | 按需 | 不做 JNI/C/C++/Rust/Flutter Native 时可删 | | system-images | `%LOCALAPPDATA%\Android\Sdk\system-images` | 按需 | 只用真机调试时可删 | | 旧版 platforms | `%LOCALAPPDATA%\Android\Sdk\platforms` | 按需 | 不维护旧 Android 版本时可删 | | 旧版 build-tools | `%LOCALAPPDATA%\Android\Sdk\build-tools` | 按需 | 项目未指定旧版本时可删 | | sources | `%LOCALAPPDATA%\Android\Sdk\sources` | 可选 | 不需要查看源码时可删 | ### 7.2 不建议手动删除的 SDK 组件 | 组件 | 原因 | |---|---| | `platform-tools` | 包含 `adb`,真机调试必需 | | 当前项目使用的 `platforms` | 编译目标依赖 | | 当前项目使用的 `build-tools` | 构建依赖 | | 当前项目使用的 NDK 版本 | Native 编译依赖 | ### 7.3 SDK Manager 清理步骤 1. 打开 Android Studio。 2. 进入 `Tools -> SDK Manager`。 3. 在 `SDK Platforms` 中取消不需要的旧 Android 版本。 4. 在 `SDK Tools` 中勾选 `Show Package Details`。 5. 取消不需要的旧版 Build Tools、NDK、Command-line Tools。 6. 点击 `Apply`,由 Android Studio 执行卸载。 --- ## 八、Android Studio 缓存处理 ### 8.1 IDE 缓存目录 本机 Android Studio 缓存目录: ```text %LOCALAPPDATA%\Google\AndroidStudio2025.2.2 ``` 实测占用约 `4.92 GB`。 不建议直接删除整个目录,因为它可能包含: - IDE 索引缓存 - 插件缓存 - 本地历史 - 项目打开记录 - 配置状态 ### 8.2 推荐操作 优先使用 Android Studio 内置功能: ```text File -> Invalidate Caches... ``` 适用场景: - 索引异常。 - IDE 明显卡顿。 - 频繁出现缓存相关构建问题。 影响: - Android Studio 会重建索引。 - 首次重新打开项目会慢。 - 比手动删除整个目录安全。 --- ## 九、不建议直接清理的目录 | 路径 | 原因 | |---|---| | `%LOCALAPPDATA%\Android\Sdk` 整目录 | 会破坏 Android 开发环境 | | `%LOCALAPPDATA%\Google\AndroidStudio*` 整目录 | 可能丢配置和索引状态 | | `%APPDATA%\Tencent` | 可能包含微信/企微聊天和账号数据 | | `%APPDATA%\kingsoft` | 可能包含 WPS 文档、账号、模板数据 | | `%APPDATA%\TDAppDesktop` | 可能包含腾讯文档本地数据 | | `%ProgramFiles%\WindowsApps` | Windows 应用系统目录 | | `C:\Windows\WinSxS` | 系统组件存储,本机 DISM 显示不推荐清理 | | `C:\Program Files\Android` | Android Studio 程序目录,清理应通过卸载器 | --- ## 十、清理决策流程 ```text 1. 先扫描 C 盘空间 | v 2. 找到占用最高目录 | v 3. 判断目录类型 |-- 临时文件 / 缓存 / 安装残留 -> 可列入低风险清理 |-- Gradle 缓存 -> 可清理,但提醒下次构建会变慢 |-- SDK 可选组件 -> 询问是否需要 Native / 模拟器 / 旧版本 |-- 聊天、账号、配置、工程源码 -> 不直接清理 | v 4. 删除前确认是否备份 | v 5. 精确校验目标路径后执行清理 | v 6. 复查 C 盘剩余空间和目标目录残留 ``` --- ## 十一、常见问题 FAQ ### Q1:清理 Gradle 后项目无法立即编译? 原因:依赖和 Gradle Wrapper 被清理,需要重新下载。 处理: ```powershell cd <项目目录> .\gradlew.bat build ``` 如果下载慢,检查代理、Gradle 镜像源和网络。 ### Q2:清理后模拟器无法启动? 原因:可能删除了 system-images 或 AVD 镜像。 处理: ```text Tools -> SDK Manager -> SDK Platforms / SDK Tools ``` 重新安装对应系统镜像。 ### Q3:Native 项目编译失败? 原因:NDK 被删除或版本不匹配。 处理: 1. 查看项目 `local.properties`、`build.gradle` 或 `gradle.properties` 中指定的 NDK 版本。 2. 通过 SDK Manager 重新安装对应 NDK。 ### Q4:能不能直接删除整个 Android SDK? 不建议。除非确定不再做 Android 开发,或者准备完整重装 Android Studio 和 SDK。 ### Q5:能不能清理 `WindowsApps` 或 `WinSxS`? 不建议手动清理。 - `WindowsApps` 是 Microsoft Store / Windows 应用目录。 - `WinSxS` 是系统组件存储,应通过系统工具或 DISM 判断。 - 本机 DISM 结果显示:`推荐使用组件存储清理:否`。 --- ## 十二、下一步建议 当前本机已清理低风险缓存和 Gradle 缓存,C 盘剩余空间从 `10.63 GB` 提升到 `22.05 GB`。 后续如果还要继续释放空间,建议顺序: 1. 用 SDK Manager 检查 Android SDK 是否存在不用的旧版平台、Build Tools、NDK、system-images。 2. 检查是否仍需要本机所有 Android Studio / Java / WSL / 360 / 腾讯文档程序。 3. 对 Tencent、kingsoft、TDAppDesktop 只做软件内清理,不直接删目录。 4. 对 Android Studio 执行 `Invalidate Caches`,不要手动删除整个配置目录。 --- ## 十三、关联记录 - 本次实际清理:低风险缓存释放 `4.77 GB`,Gradle 缓存释放 `6.65 GB`。 - 当前 C 盘:总计 `118.24 GB`,剩余 `22.05 GB`。 - 整理依据:本机 PowerShell 扫描结果、Windows 删除安全确认流程、Android Studio / Gradle 常见缓存机制。