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

相关推荐
rocpp8 小时前
Android 相册选择与拍照接入实践:MediaStore 分页、权限适配与 FileProvider
android
Flynt9 小时前
升级Flutter 3.44,我踩了HCPP和AGP 9的坑
android·flutter·dart
白色牙膏9 小时前
Cocos Creator 2.4.x 接入 AdMob 插件的迁移实践
android
我命由我1234511 小时前
C++ - 面向对象 - 常成员函数
android·java·linux·c语言·开发语言·c++·算法
tryqaaa_12 小时前
学习日志(四)【php反序列化魔术方法以及pop构造配实战】
android
Java小学生丶13 小时前
记录一下我的 Gradle 开发环境配置过程
android·java·gradle·maven·安卓
问心无愧051314 小时前
ctf show web 入门256
android·前端·笔记
霸道流氓气质14 小时前
MySQL 索引设计实战指南
android·数据库·mysql
R语言爱好者14 小时前
叠氮酸介绍
android
方白羽14 小时前
Android WebView 中实现第三方 QQ 登录的架构与流程详解
android·app