这里提供几个不同场景下的 Gradle 缓存清理脚本,你可以根据需求选择使用。

基础清理脚本(Linux/macOS)
#!/bin/bash
# 文件名: clean-gradle-cache.sh
echo "===== Gradle 缓存清理工具 ====="
echo ""
# Gradle 缓存目录
GRADLE_CACHE_DIR="$HOME/.gradle/caches"
# 检查目录是否存在
if [ ! -d "$GRADLE_CACHE_DIR" ]; then
echo "❌ Gradle 缓存目录不存在: $GRADLE_CACHE_DIR"
exit 1
fi
# 显示当前缓存大小
echo "📊 当前缓存大小:"
du -sh "$GRADLE_CACHE_DIR" 2>/dev/null
echo ""
# 清理所有缓存
echo "🔄 正在清理所有缓存..."
rm -rf "$GRADLE_CACHE_DIR"/*
# 可选:只清理特定版本或旧版本
# rm -rf "$GRADLE_CACHE_DIR/modules-2" # 只清理依赖缓存
# rm -rf "$GRADLE_CACHE_DIR/transforms-1" # 只清理转换缓存
echo "✅ 清理完成!"
echo ""
echo "📊 清理后缓存大小:"
du -sh "$GRADLE_CACHE_DIR" 2>/dev/null
echo ""
echo "⚠️ 下次构建时会重新下载依赖,请确保网络连接正常"
Windows PowerShell 脚本
# 文件名: clean-gradle-cache.ps1
Write-Host "===== Gradle 缓存清理工具 =====" -ForegroundColor Green
Write-Host ""
$gradleCacheDir = "$env:USERPROFILE\.gradle\caches"
# 检查目录是否存在
if (-not (Test-Path $gradleCacheDir)) {
Write-Host "❌ Gradle 缓存目录不存在: $gradleCacheDir" -ForegroundColor Red
exit 1
}
# 获取缓存大小
$size = (Get-ChildItem -Path $gradleCacheDir -Recurse | Measure-Object -Property Length -Sum).Sum / 1MB
Write-Host "📊 当前缓存大小: $( [math]::Round($size, 2) ) MB" -ForegroundColor Yellow
Write-Host ""
Write-Host "🔄 正在清理所有缓存..." -ForegroundColor Cyan
# 清理缓存
Remove-Item -Path "$gradleCacheDir\*" -Recurse -Force -ErrorAction SilentlyContinue
Write-Host ""
Write-Host "✅ 清理完成!" -ForegroundColor Green
Write-Host ""
Write-Host "⚠️ 下次构建时会重新下载依赖,请确保网络连接正常" -ForegroundColor Yellow
选择性清理脚本(保留最近版本)
#!/bin/bash
# 文件名: smart-clean-gradle.sh
echo "===== 智能 Gradle 缓存清理 ====="
echo ""
GRADLE_CACHE_DIR="$HOME/.gradle/caches"
# 检查目录
if [ ! -d "$GRADLE_CACHE_DIR" ]; then
echo "❌ 目录不存在"
exit 1
fi
# 显示当前状态
echo "📊 当前 Gradle 缓存信息:"
du -sh "$GRADLE_CACHE_DIR" 2>/dev/null
echo ""
# 清理选项
echo "请选择清理类型:"
echo "1) 清理所有缓存(包括 Gradle wrapper 和依赖)"
echo "2) 只清理依赖缓存(保留 Gradle wrapper)"
echo "3) 只清理旧的 Gradle 版本(保留最新版本)"
echo "4) 清理 proguard 混淆缓存"
echo ""
read -p "请输入选项 (1-4): " choice
case $choice in
1)
echo "🔄 清理所有缓存..."
rm -rf "$GRADLE_CACHE_DIR"/*
;;
2)
echo "🔄 清理依赖缓存..."
rm -rf "$GRADLE_CACHE_DIR/modules-2"
rm -rf "$GRADLE_CACHE_DIR/transforms-1"
;;
3)
echo "🔄 清理旧的 Gradle 版本..."
# 保留当前使用的版本(根据需要调整)
cd "$GRADLE_CACHE_DIR"
for dir in gradle-*/; do
if [ "$dir" != "gradle-latest/" ]; then
echo "删除: $dir"
rm -rf "$dir"
fi
done
;;
4)
echo "🔄 清理 proguard 缓存..."
rm -rf "$GRADLE_CACHE_DIR/transforms-*"
rm -rf "$GRADLE_CACHE_DIR/*.jar"
;;
*)
echo "❌ 无效选项"
exit 1
;;
esac
echo ""
echo "✅ 清理完成!"
echo "📊 清理后大小:"
du -sh "$GRADLE_CACHE_DIR" 2>/dev/null
定时自动清理脚本(Linux cron)
#!/bin/bash
# 文件名: auto-clean-gradle.sh
# 用途:自动清理超过 30 天的缓存
echo "[$(date)] 开始自动清理 Gradle 缓存..."
GRADLE_CACHE_DIR="$HOME/.gradle/caches"
if [ -d "$GRADLE_CACHE_DIR" ]; then
# 清理 30 天未使用的文件
find "$GRADLE_CACHE_DIR" -atime +30 -delete 2>/dev/null
echo "✅ 清理完成:删除30天以上未使用的缓存"
else
echo "⚠️ 缓存目录不存在"
fi
使用方法:
- Linux/macOS 用户:
# 添加执行权限 chmod +x clean-gradle-cache.sh
运行脚本
./clean-gradle-cache.sh
2. **Windows 用户**:
```powershell
# 以管理员身份运行
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
.\clean-gradle-cache.ps1
- 定时清理设置(Linux):
# 每天凌晨 3 点执行 crontab -e 0 3 * * * /path/to/auto-clean-gradle.sh
注意事项:
- ⚠️ 清理后首次构建会较慢,因为需要重新下载所有依赖
- 💾 建议保留 .gradle/caches 目录下的 journal 文件夹
- 🔧 如果使用 Android Studio,也可以通过
File > Invalidate Caches清理 - 📦 对于 Maven 本地仓库,可以通过删除
~/.m2/repository清理
选择适合你需求的脚本,建议优先使用智能清理脚本以避免不必要的完整重建。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播