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 "包名" 安装指定组件。如果你在安装过程中遇到具体问题,可以告诉我具体的报错信息,我再帮你看看。

相关推荐
晓梦林6 小时前
[ACTF2020 新生赛]BackupFile学习笔记
android·笔记·学习
ITmaster07317 小时前
告别 IDE?Android CLI 来了,开发进入 AI Agent 时代
android·ide·人工智能
aaajj8 小时前
【Android】获取设备音频
android
清泓y9 小时前
UE移动开发技术面试题
android·面试·ue5·ue4·游戏程序
DevRen9 小时前
Compose Snapshot 系统详解
android
艾莉丝努力练剑12 小时前
【MYSQL】MYSQL学习的一大重点:基本查询(下)
android·数据库·学习·mysql·面试·八股文
三少爷的鞋12 小时前
Android 中coroutineScope 和 supervisorScope 到底怎么选?先搞清楚 Exception 和 Result
android
其实防守也摸鱼14 小时前
KMP全栈开发:从Android到AI Agent的技术演进与实践
android·运维·网络·人工智能·学习·安全·macos
YM52e19 小时前
鸿蒙Flutter Padding内边距:EdgeInsets详解
android·学习·flutter·华为·harmonyos·鸿蒙
Rex叶然1 天前
ScreenMatch适配安卓屏幕脚本,用于老项目
android·screenmatch·安卓屏幕适配