Files
Obsidian/工具相关/Android Studio C盘空间清理.md
2026-11-05 14:35:04 +08:00

15 KiB
Raw Permalink Blame History

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 删除前确认备份

本地删除操作执行前必须明确询问:

是否先备份?

如果用户明确回复“不备份”,再执行清理。
如果目录可能包含账号数据、聊天记录、工程源码、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 盘总空间

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 盘根目录占用

$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 相关目录

$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 子目录

$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 子目录

$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 第一批低风险缓存

执行前请先确认:已决定不备份,且目标路径与清单一致。

$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 缓存

$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 清理后复查

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 管理。

菜单路径:

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 缓存目录:

%LOCALAPPDATA%\Google\AndroidStudio2025.2.2

实测占用约 4.92 GB。

不建议直接删除整个目录,因为它可能包含:

  • IDE 索引缓存
  • 插件缓存
  • 本地历史
  • 项目打开记录
  • 配置状态

8.2 推荐操作

优先使用 Android Studio 内置功能:

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 程序目录,清理应通过卸载器

十、清理决策流程

1. 先扫描 C 盘空间
   |
   v
2. 找到占用最高目录
   |
   v
3. 判断目录类型
   |-- 临时文件 / 缓存 / 安装残留 -> 可列入低风险清理
   |-- Gradle 缓存 -> 可清理,但提醒下次构建会变慢
   |-- SDK 可选组件 -> 询问是否需要 Native / 模拟器 / 旧版本
   |-- 聊天、账号、配置、工程源码 -> 不直接清理
   |
   v
4. 删除前确认是否备份
   |
   v
5. 精确校验目标路径后执行清理
   |
   v
6. 复查 C 盘剩余空间和目标目录残留

十一、常见问题 FAQ

Q1:清理 Gradle 后项目无法立即编译?

原因:依赖和 Gradle Wrapper 被清理,需要重新下载。

处理:

cd <项目目录>
.\gradlew.bat build

如果下载慢,检查代理、Gradle 镜像源和网络。

Q2:清理后模拟器无法启动?

原因:可能删除了 system-images 或 AVD 镜像。

处理:

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 常见缓存机制。