资讯详情

无需Android Studio:用commandlinetools-win搭建Android SDK指南

📅 2026/10/28 17:36:34 | 华诺云谱 👁 阅读
无需Android Studio:用commandlinetools-win搭建Android SDK指南
简介这份资源是面向 Windows 平台的 Android 命令行工具包commandlinetools-win-8512546_latest.zip适合不想安装完整 Android Studio、却需要搭建或维护 Android SDK 环境的开发者、自动化构建工程师与 CI 场景使用。它内置 sdkmanager、avdmanager、apkanalyzer、lint、retrace 等命令行入口可在无图形界面下完成 SDK 包下载、模拟器管理与应用分析是精简开发环境与服务器端构建的实用选择。压缩包共 100 个文件以 90 个 jar 为核心运行库辅以 7 个 bat 批处理脚本、1 个 readme、1 个 properties 与 1 个 txt 说明文件整体约 108.86MB解压后即可通过命令行调用。目前已有 1088 人学习下载适合希望摆脱 IDE 依赖、用脚本管理 Android SDK 的中高级开发者参考使用。1. 从 commandlinetools-win-8512546_latest.zip 说起没有 Android Studio 也能搭出 Android SDK很多人第一次拿到commandlinetools-win-8512546_latest.zip是懵的一个 100 多 MB 的压缩包解压出来只有cmdline-tools一个目录没有图形界面没有模拟器连个像样的安装程序都没有。它其实是 Google 官方提供的 Android 命令行工具包是 Android SDK 的最小化入口。你手里那台 8G 内存的旧笔记本、公司配的开发机、或者一台只跑 CI 的 Windows Server装不下 Android Studio 那套几个 G 的 IDE但你又确实需要adb、sdkmanager、avdmanager这些工具去连真机、拉依赖、跑构建这时候这个 zip 就是最省事的路径。它解决的不是「怎么开发一个 App」的问题而是「怎么在一台干净 Windows 机器上用命令行把 Android 构建链路搭起来」的问题。适合谁适合做 Android 自动化测试、Flutter/React Native 混合开发、CI 流水线搭建以及那些不想被 IDE 绑架、习惯用vscode android cmdline-tools组合干活的工程师。下面我按自己反复装过十几台机器的流程把这个 zip 从解压到能跑通adb devices的每一步拆开讲。2. 解压与目录规划commandlinetools-win 到底该放哪2.1 为什么不能直接双击解压到桌面commandlinetools-win-8512546_latest.zip解压后得到的是cmdline-tools文件夹里面是bin、lib、source.properties这些内容。如果你把它随手丢在桌面或者Downloads里后面用sdkmanager安装 platform-tools、build-tools 时路径里带空格或中文sdkmanager.bat解析参数就会出问题典型现象是执行到一半报Warning: Could not create file...或者直接闪退。我一般会固定一个纯英文、无空格的根目录比如D:\Android把解压出来的cmdline-tools放进去然后在它旁边再建两个空目录platform-tools和build-tools。这样做的目的是让 SDK 的根目录结构清晰后面ANDROID_HOME指向D:\Android所有组件都收在同一个父目录下迁移机器时整个文件夹拷走就能用。具体操作分三步。第一步把 zip 解压到临时目录确认里面是cmdline-tools而不是嵌套的cmdline-tools/cmdline-tools。第二步在D:\Android下创建cmdline-tools目录把解压出来的内容整体移进去最终路径应该是D:\Android\cmdline-tools\bin\sdkmanager.bat。第三步如果你下载的版本解压后直接就是bin目录那说明它缺少一层latest目录需要手动补在cmdline-tools下新建latest把bin、lib等全部移进latest变成D:\Android\cmdline-tools\latest\bin。这一步是很多教程没讲清楚、但sdkmanager能否被正确识别为「最新版命令行工具」的关键。# 假设 zip 已下载到 D:\Downloads mkdir D:\Android cd D:\Android # 用 PowerShell 解压Windows 10 自带 Expand-Archive -Path D:\Downloads\commandlinetools-win-8512546_latest.zip -DestinationPath D:\Android\tmp # 查看解压结构 dir D:\Android\tmp # 如果看到 cmdline-tools 目录整体移动 move D:\Android\tmp\cmdline-tools D:\Android\cmdline-tools # 检查最终路径 dir D:\Android\cmdline-tools\latest\bin\sdkmanager.bat上面命令里Expand-Archive是 PowerShell 的解压命令-DestinationPath指定临时目录避免直接污染D:\Android。move之后要确认sdkmanager.bat的完整路径如果路径是D:\Android\cmdline-tools\bin\sdkmanager.bat而没有latest这一层就按前面说的手动补目录。参数上唯一要注意的是目录名不要用中文和空格ANDROID_HOME后续会指向D:\Android这个变量会被 Gradle、Flutter、Node 的 Android 构建脚本读取路径不干净会引发一连串玄学报错。2.2 环境变量怎么配才不翻车目录放好之后必须配三个环境变量ANDROID_HOME、ANDROID_SDK_ROOT、PATH。ANDROID_HOME和ANDROID_SDK_ROOT现在官方建议都指向 SDK 根目录也就是D:\Android老版本工具可能只认其中一个两个都设上最稳。PATH里要追加两个路径%ANDROID_HOME%\cmdline-tools\latest\bin和%ANDROID_HOME%\platform-tools。前者让你在任何目录下能敲sdkmanager后者让你能敲adb。配完之后一定要开一个新的 cmd 或 PowerShell 窗口验证因为环境变量只对新进程生效旧窗口里敲adb还是会提示「不是内部或外部命令」。# 在 PowerShell 里临时验证不写注册表只对当前会话生效 $env:ANDROID_HOME D:\Android $env:ANDROID_SDK_ROOT D:\Android $env:Path ;D:\Android\cmdline-tools\latest\bin;D:\Android\platform-tools # 验证 sdkmanager 能否被找到 sdkmanager --version # 如果输出版本号如 8.0说明路径正确这段脚本适合快速验证确认没问题后再去「系统属性 → 高级 → 环境变量」里永久写入。sdkmanager --version能输出版本号说明cmdline-tools的bin目录已经进入PATH且 Java 环境也能被找到——sdkmanager本身是 Java 程序需要 JDK 8 或 11 以上。如果这一步报JAVA_HOME相关错误先去装一个 JDK把JAVA_HOME指向 JDK 根目录再把%JAVA_HOME%\bin加进PATH。这是commandlinetools-win在 Windows 上第一个高频翻车点不是 zip 本身的问题而是 Java 环境没就位。3. 用 sdkmanager 拉齐 platform-tools 与 build-tools3.1 先看清 sdkmanager 能装什么sdkmanager是commandlinetools-win里最核心的命令它负责从 Google 的仓库下载 SDK 组件。刚解压完的cmdline-tools是空的里面没有adb没有aapt2什么都没有。你需要用sdkmanager --list先看一遍可用包再决定装哪些。这个命令会输出已安装和可安装的列表内容很长建议重定向到文件里慢慢看。列表里platform-tools提供adb和fastbootbuild-tools提供aapt2、d8、zipalignplatforms;android-34提供对应 API 级别的android.jar。做 Android 自动化或混合开发最少要装这三类。如果你还要跑模拟器再装emulator和对应的system-images。# 列出所有可用包输出到文件方便查看 sdkmanager --list D:\Android\sdk-list.txt # 只看已安装的 sdkmanager --list_installed # 安装 platform-tools含 adb sdkmanager platform-tools # 安装 build-tools 34.0.0 sdkmanager build-tools;34.0.0 # 安装 Android 14 平台 sdkmanager platforms;android-34sdkmanager --list的输出里包名是分号分隔的比如build-tools;34.0.0安装时必须带引号否则分号在 cmd 里会被当成命令分隔符。--list_installed用来确认装没装成功。安装过程中会提示接受许可协议输入y回车即可。如果网络环境导致下载慢或中断可以加--channel0走稳定通道或者配置代理参数——但这里不展开网络层面的东西只提醒一句下载失败时先看报错里的 URL确认是仓库地址不通还是磁盘权限问题。装完之后D:\Android\platform-tools\adb.exe应该存在D:\Android\build-tools\34.0.0\aapt2.exe也应该存在。3.2 版本选择与参数说明build-tools的版本不是越新越好要和你的项目compileSdk匹配。常见做法是装一个较新的稳定版比如 34.0.0 或 33.0.2然后在项目里显式指定。platforms的 API 级别同理android-34对应 Android 14。如果你维护多个项目可以同时装多个版本sdkmanager支持并存。参数上sdkmanager还支持--sdk_root指定 SDK 根目录如果你没有配ANDROID_HOME可以用这个参数临时指定。另外--verbose能看到更详细的下载日志排查下载卡住时有用。组件包名示例作用是否必装platform-toolsplatform-toolsadb、fastboot是build-toolsbuild-tools;34.0.0aapt2、d8、zipalign是platformsplatforms;android-34android.jar是emulatoremulator模拟器引擎按需system-imagessystem-images;android-34;google_apis;x86_64模拟器镜像按需这张表里前三行是任何 Android 构建链路都绕不开的。emulator和system-images只有你需要在本机跑虚拟设备时才装否则可以跳过省下几个 G 的磁盘。装system-images时注意架构选x86_64Windows 上跑arm64镜像性能很差。sdkmanager安装完成后不会自动把platform-tools加进PATH所以前面配环境变量那一步必须做否则adb还是敲不出来。4. 避坑与排查commandlinetools-win 最常见的 5 个翻车现场4.1 sdkmanager 报 “Could not determine SDK root”现象执行sdkmanager --list时直接报错提示无法确定 SDK 根目录或者提示cmdline-tools组件缺失。原因cmdline-tools的目录结构不对缺少latest这一层或者ANDROID_HOME指向了cmdline-tools而不是它的父目录。解决确认路径是D:\Android\cmdline-tools\latest\bin\sdkmanager.batANDROID_HOME设为D:\Android。如果结构不对手动建latest目录并把bin、lib移进去。4.2 adb 能识别设备但显示 unauthorized现象adb devices列出设备但状态是unauthorized无法安装 APK 或执行 shell。原因手机端没有授权这台电脑的 RSA 密钥或者之前授权过但密钥变了。解决在手机开发者选项里撤销 USB 调试授权拔插数据线重新弹窗时勾选「始终允许」。如果还不弹窗检查数据线是否只支持充电换一根支持数据传输的线。Windows 上还可能需要装厂商 USB 驱动commandlinetools-win本身不带驱动。4.3 sdkmanager 下载到一半卡住或报 SSL 错误现象安装platform-tools或build-tools时进度条长时间不动最后报SSLException或Connection reset。原因网络到 Google 仓库的链路不稳定或者本机时间不准导致证书校验失败。解决先校准系统时间再重试如果仍失败检查是否有安全软件拦截了sdkmanager的 Java 进程。常见做法是换一个网络时段重试或者用--verbose看具体卡在哪个 URL。注意不要用来源不明的镜像包替换官方组件版本对不上会导致构建产物异常。4.4 环境变量配了但新窗口仍找不到 adb现象明明在系统属性里加了PATH新开的 cmd 里敲adb还是提示不是内部命令。原因PATH里写的是%ANDROID_HOME%\platform-tools但ANDROID_HOME本身没生效或者路径拼写有误。解决在 cmd 里执行echo %ANDROID_HOME%和echo %PATH%确认变量展开后的实际值。如果ANDROID_HOME为空说明变量名拼错或没保存。另一个常见原因是把路径加到了「用户变量」但当前用的是管理员账户用户变量不互通建议加到「系统变量」。4.5 build-tools 版本与 Gradle 插件不匹配现象命令行构建时报AAPT2 aapt2-...-windows.jar相关错误或者提示Failed to find Build Tools revision。原因项目build.gradle里指定的buildToolsVersion和你实际安装的版本不一致。解决用sdkmanager --list_installed看已装版本然后在项目里改成一致或者补装对应版本。Gradle 插件版本和build-tools有兼容矩阵不要盲目追新。如果项目里没写buildToolsVersionGradle 会按插件默认值去找缺哪个就装哪个。5. 进阶把 commandlinetools 接进 CI 与多版本共存5.1 在 CI 里用命令行工具做无头构建commandlinetools-win-8512546_latest.zip最大的价值其实在 CI 场景。GitHub Actions 的windows-latest镜像里预装了 Android SDK但版本可能和你本地不一致自建 Jenkins 或 GitLab Runner 的 Windows 节点上用这个 zip 可以快速拉起一套干净的 SDK。典型做法是在流水线第一步解压 zip、配环境变量、用sdkmanager装指定版本组件然后跑gradlew assembleDebug。这样每次构建的 SDK 版本都是确定的不会因为节点上残留的旧版本导致「本地能过、CI 挂掉」的玄学问题。# CI 脚本片段无头安装 SDK 并构建 set ANDROID_HOMED:\ci\android-sdk set PATH%ANDROID_HOME%\cmdline-tools\latest\bin;%ANDROID_HOME%\platform-tools;%PATH% call sdkmanager platform-tools build-tools;34.0.0 platforms;android-34 --sdk_root%ANDROID_HOME% call gradlew.bat assembleDebug --no-daemon这段脚本里--sdk_root显式指定根目录避免依赖全局环境变量。--no-daemon让 Gradle 跑完就退出适合 CI 容器。注意sdkmanager在 Windows 批处理里要用call调用否则执行完第一个命令后脚本会提前结束。如果你在 CI 里同时维护多个 Android 版本可以准备多个 SDK 根目录用变量切换而不是在一个目录里反复覆盖安装。5.2 多版本共存与磁盘清理一台机器上同时装build-tools;33.0.2和build-tools;34.0.0是允许的sdkmanager会分别放在build-tools\33.0.2和build-tools\34.0.0。platforms同理。真正占磁盘的是system-images和emulator一个 x86_64 镜像动辄 1G 以上。如果只是做命令行构建完全可以不装模拟器相关组件。清理时不要直接删cmdline-tools目录那是入口要删就删build-tools下不需要的版本和system-images下不用的镜像。sdkmanager --uninstall build-tools;33.0.2可以干净卸载比手动删目录更安全因为它会同步更新元数据。我自己的习惯是每台新机器先解压commandlinetools-win-8512546_latest.zip固定放D:\Android配好三个环境变量然后只装platform-tools、一个build-tools、一个platforms跑通adb devices和一次gradlew assembleDebug就算验收。剩下的组件等真正需要时再补不提前囤。这套流程帮我省过很多次「装了一堆用不上的东西、最后环境冲突」的后悔药。希望帮到你。本文还有配套的精品资源点击获取
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。

↑