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

相关推荐
恋猫de小郭6 小时前
Amper 正式转正 Kotlin Toolchain ,Gradle 未来何去何从
android·前端·flutter
plainGeekDev7 小时前
ButterKnife → ViewBinding
android·java·kotlin
成都大菠萝21 小时前
Android Car CarProperty 车辆信号链路
android
敲代码的鱼21 小时前
PDF 预览与签名批注写回 支持安卓 iOS 鸿蒙 UTS插件
android·前端·ios
时光足迹1 天前
uni-app 视频通话实战:康复师与患者视频问诊的 6 个致命 Bug 与解决方案
android·ios·uni-app
Coffeeee1 天前
闲聊几句,Android老哥们,你们多久没做技改需求了
android·程序员·代码规范
萝卜er1 天前
Fragment 生命周期与状态恢复-《Android深水区(四)》
android
萝卜er1 天前
Intent 显式、隐式与 PendingIntent-《Android深水区(五)》
android
Kapaseker1 天前
一文吃透 Kotlin 集合操作符
android·kotlin
三少爷的鞋1 天前
Main-safe:现代Android 架构真正的分水岭
android