Android SDK安装

遇到老版安装程序不兼容是挺绕人的,不过换成 sdkmanager 确实就一劳永逸了。它的核心用法很简单,主要是先用 --list 看有哪些包可以装,再用安装命令指定包名就行。具体操作步骤如下:

📝 准备工作:下载与初始化配置

  1. 下载命令行工具 :访问 Android 开发者官网,下载 Windows 版本的"Command line tools only"压缩包。
  2. 创建SDK根目录 :在电脑上创建一个新文件夹作为SDK根目录,例如 C:\Android\android_sdk
  3. 解压并配置目录(关键步骤)
    • 把下载的压缩包解压,会得到一个名为 cmdline-tools 的文件夹。
    • cmdline-tools 文件夹里面 ,再新建一个名为 latest 的子文件夹。
    • cmdline-tools 里除了 latest 以外的所有文件和文件夹(如 bin, lib, NOTICE.txt 等),全部剪切 到刚新建的 latest 文件夹里。
    • 最后,把整个 cmdline-tools 文件夹复制到你创建的SDK根目录(例如 C:\Android\android_sdk)。最终路径结构应为 C:\Android\android_sdk\cmdline-tools\latest\bin\sdkmanager.bat

⌨️ 实战:使用 sdkmanager.bat 安装组件

1. 验证安装并查看可用包

打开命令行(CMD),先切换到 sdkmanager.bat 所在的目录,再执行相关命令。

cmd 复制代码
:: 切换到 sdkmanager.bat 所在目录
cd C:\Android\android_sdk\cmdline-tools\latest\bin
:: 列出所有可安装的包
sdkmanager --list

执行后,屏幕会打印出所有可用的软件包列表,下一步就需要用到这里的包名。

2. 安装核心组件(基础三件套)

基础开发至少需要安装 platform-tools(含ADB)、build-tools 和某个版本的 platforms(Android平台)。命令如下:

cmd 复制代码
:: 安装最新的平台工具(包含 adb, fastboot 等)
sdkmanager "platform-tools"

:: 安装构建工具(把 "X.Y.Z" 替换成你需要的版本号,如 35.0.0)
sdkmanager "build-tools;X.Y.Z"

:: 安装特定版本的 Android 平台(把 "ZZ" 替换成需要的 API 级别,如 33)
sdkmanager "platforms;android-ZZ"

高效方法 :可以把要装的包名写进一个文本文件(如 packages.txt,一行一个),然后用 sdkmanager --package_file=packages.txt 批量安装。

3. 通用安装命令

基本格式为:

cmd 复制代码
sdkmanager [options] "包名1" "包名2" ...

常用选项有 --list(列出包)、--update(更新已安装包)和 --uninstall(卸载)。如果连接到一些旧源或网络受限,可能需要带上 --no_https 选项。

⚙️ 进阶:配置环境变量

为了方便在任意路径下使用 adbsdkmanager 等工具,建议将它们的路径添加到 Windows 环境变量中。

  • 新建用户变量

    • 变量名:ANDROID_SDK_ROOT
    • 变量值:C:\Android\android_sdk(你的SDK根目录)
  • 编辑系统 Path 变量 :在已有的 Path 变量中新建两行:

    • %ANDROID_SDK_ROOT%\cmdline-tools\latest\bin
    • %ANDROID_SDK_ROOT%\platform-tools

💎 一个完整的安装示例

结合以上步骤,假设需要为 API 33 的项目构建环境,可以连续执行下面的命令:

cmd 复制代码
:: 1. 切换到 sdkmanager 所在目录
cd C:\Android\android_sdk\cmdline-tools\latest\bin

:: 2. 安装指定版本的平台和构建工具
sdkmanager "platform-tools" "platforms;android-33" "build-tools;33.0.0"

:: 3. 等命令跑完,可以在 SDK 根目录看到新文件夹
dir C:\Android\android_sdk

💡 安装完成后,如何让图片中的程序识别SDK?

sdkmanager 安装好新版 SDK 后,回头再看那张报错图片,它大概率是某个依赖特定 Android SDK 老版本的游戏引擎(如 Unity/Unreal)自带的安装器。你可以在它的安装目录里找到类似 SetupAndroid.bat 的脚本,用记事本打开后,找到 sdkmanager.bat 的调用路径,并将其修改为你刚才设置的新路径,最后以管理员身份运行这个脚本即可。

💡 补充说明:如何彻底解决 JDK 不被识别的问题?

虽然改用 sdkmanager 绕开了老款安装器,但如果在后续开发中再次遇到"找不到 JDK"这类问题,可以参考下面的方法彻底解决:

  1. 核对 JAVA_HOME 地址是否准确JAVA_HOME 变量需指向 JDK 根目录 (而不是包含 java.exebin 目录)。你可以打开 CMD 执行 dir "%JAVA_HOME%\bin\java.exe",如果能找到文件则说明配置正确。
  2. 检查依赖方对 JDK 的版本是否有要求 :部分老旧的工具(如早年的 Eclipse ADT 或老牌游戏引擎的打包工具)可能只兼容 32 位 JDK 。如果 java -version 显示为 64-bit,你可能需要再安装一个 32 位 JDK 版本。

💎 总结

使用 sdkmanager 安装 Android SDK 的核心流程就是:下载解压 -> 创建 latest 目录并挪动文件 -> 用 --list 查包名 -> 最后用 sdkmanager "包名" 安装指定组件。如果你在安装过程中遇到具体问题,可以告诉我具体的报错信息,我再帮你看看。

相关推荐
雪铃儿2 小时前
Flutter Android 热更新:我为什么没用 Shorebird 而是自己造了一个🚀
android·开源
angerdream2 小时前
Android手把手编写儿童手机远程监控App之通知栏消息
android
OCN_Yang4 小时前
能告诉我:你为什么用 MVI 吗?反正我不理解!
android·架构·前端框架
荣月灵的小梅花5 小时前
Android 给广播接收器增加权限(permission)或signature签名权限
android
沐言人生5 小时前
ReactNative 源码分析4——ReactActivity之加载JSBundle
android·react native
砖厂小工7 小时前
Now In Android 精讲 10 - AGENTS.md:写给 AI Agent 的项目说明书
android
Ehtan_Zheng8 小时前
Jetpack Compose 动画转换编排的艺术
android
Ehtan_Zheng8 小时前
Jetpack Compose 动画入门:轻松掌握状态驱动的动画转换
android
Ehtan_Zheng8 小时前
Jetpack Compose 布局与可见性动画
android