SDK更新不了问题解决
Android SDK 更新失败问题解决指南
Android SDK 更新失败是开发者常见问题,通常由网络连接、权限不足、磁盘空间、代理设置、许可证未接受或文件锁定等原因引起。根据最新文档和社区反馈(截至 2025 年 9 月),以下是系统化的排查和解决步骤。优先尝试简单方法,如果问题持续,逐步深入。建议使用 Android Studio 的 SDK Manager(Tools > SDK Manager)进行操作。
1. 基本排查步骤
- 检查网络连接:确保互联网稳定。测试是否能访问 https://dl.google.com/android/repository/repository2-1.xml(SDK 仓库)。如果失败,尝试切换网络或使用 VPN。
- 关闭相关进程:结束 adb.exe、emulator.exe 或其他 Android 进程(任务管理器中搜索)。重启 Android Studio。
- 检查磁盘空间:SDK 更新需至少 2-5 GB 空间。清理临时文件,或删除旧版本缓存(File > Invalidate Caches > Invalidate and Restart)。
- 重启电脑:简单重启可解决临时锁定问题。
2. 常见错误及针对性解决
使用表格总结常见错误、症状和解决方案,便于快速定位。
错误类型 | 症状描述 | 解决方案 |
---|---|---|
文件夹移动失败 (e.g., “A folder failed to be moved” 或 “Failed to rename directory”) | 更新时提示目录锁定或无法移动(如 tools 文件夹)。 | 1. 手动复制 temp 文件夹中的内容到目标目录(e.g., android-sdk\temp\tools 到 android-sdk\tools)。 2. 以管理员身份运行 SDK Manager(右键 Android Studio > Run as administrator)。 3. 避免将 SDK 安装在 Program Files 等有空格/权限严格的路径,移至 C:\android-sdk。 |
网络/连接拒绝 (e.g., “Connection to https://dl-ssl.google.com refused”) | 下载失败,提示连接错误。 | 1. 配置代理:SDK Manager > Tools > Options > HTTP Proxy(主机:www.google.com,端口:80,Force https://… sources)。 2. 刷新包列表:Packages > Reload。 3. 临时禁用防火墙/杀毒软件,或使用命令行: sdkmanager --update 。 |
许可证未接受 (e.g., “Failed to install… licenses have not been accepted”) | 构建或安装时提示需接受许可证。 | 1. SDK Manager > SDK Tools > 勾选 Android SDK Command-line Tools > Apply。 2. 运行命令: sdkmanager --licenses 并输入 y 接受所有。3. 如果多机传输,复制 SDK 根目录下的 licenses/ 文件夹。 |
权限/文件访问失败 (e.g., “Failed to read or create install properties file”) | Linux/macOS 上常见,Windows 上提示 UAC。 | 1. 以 root/管理员运行 Android Studio。 2. 修改 SDK 目录权限: chmod -R 777 /path/to/android-sdk (Linux)。3. 移动 SDK 到用户目录(如 ~/android-sdk)。 |
SDK 缺失或过时 (e.g., “Android SDK is missing, out of date, or corrupted”) | 启动时提示 SDK 路径无效。 | 1. File > Settings > Appearance & Behavior > System Settings > Android SDK > 编辑 SDK Location。 2. 下载独立 SDK Tools(developer.android.com/studio > Command line tools only)。 3. 关闭所有项目,重新打开 Android Studio 以触发安装向导。 |
cmdline-tools 未安装 (e.g., “Android sdkmanager not found”) | Flutter 或命令行工具失败。 | SDK Manager > SDK Tools > 勾选 Android SDK Command-line Tools (latest) > Apply。 |
构建工具更新失败 (e.g., Visual Studio 中的 Build Tools 错误) | 特定于 VS/Xamarin,提示 Build Tools 缺失。 | 1. Tools > Options > Xamarin > Android Settings > 勾选 AutoInstall Android SDKs。 2. 手动下载 Build Tools ZIP 并解压到 build-tools/ 目录。 |
3. 使用命令行工具更新(推荐备用方案)
如果 GUI SDK Manager 失败,使用 sdkmanager 命令行(适用于无图形界面或后台更新):
- 下载 Command Line Tools(developer.android.com/studio > Command line tools only),解压到 SDK 目录的 cmdline-tools/latest/bin。
- 添加到 PATH:export PATH=$PATH:/path/to/cmdline-tools/latest/bin。
- 运行:
sdkmanager --update # 更新所有
sdkmanager --list # 查看可用包
sdkmanager "platforms;android-34" "build-tools;34.0.0" # 安装特定包
sdkmanager --licenses # 接受许可证
- 示例:安装 Android 14 (API 34):
sdkmanager "platforms;android-34" "build-tools;34.0.0"
。
4. 高级排查与预防
- 代理/防火墙:检查系统代理设置(Windows: 设置 > 网络 > 代理)。临时禁用测试。
- Java 版本冲突:确保使用 JDK 17+(File > Project Structure > SDK Location > JDK)。macOS 上运行
echo export "JAVA_HOME=$(/usr/libexec/java_home -v 1.8)" >> ~/.zshrc
更新环境变量。 - 清理旧文件:删除 android-sdk/temp/ 中的残留 ZIP 文件,重试更新。
- 更新 Android Studio:File > Settings > Updates > Check Now,确保 IDE 为最新版(e.g., Koala 2024.1.1)。
- 预防:定期备份 SDK 目录,避免在系统保护文件夹安装。使用 Canary 通道测试新包(但不稳定)。
5. 如果仍失败
- 查看日志:SDK Manager > 右下角 Show Log,搜索错误关键词。
- 社区求助:Stack Overflow 或 Android 开发者论坛,提供日志和系统信息(OS、Android Studio 版本)。
- 重新安装:卸载 Android Studio,删除 ~/.android/ 和 SDK 目录,重新下载。
这些步骤覆盖了 90%+ 的更新失败场景。如果提供具体错误日志,我可以给出更精确的指导!