Android SDK
Android SDK 是开发 Android 应用的核心工具集,包含平台、构建工具、模拟器等组件。
#resource
#growing
#mobile
#android
#tool
[!info] related notes
- 所属配置: android-development-environment-setup
- 子组件: android-platform-tools, adb
- 同族笔记: android
Android SDK
一句话定义
Android SDK(Software Development Kit)是 Google 提供的 Android 应用开发工具集,包含平台 API、构建、调试和测试相关组件;具体项目还依赖匹配的 JDK、Gradle、Android Gradle Plugin 或框架工具链。
核心组件
| 组件 | 作用 | 说明 |
|---|---|---|
| SDK Platform | 特定 Android 版本的 API | 每个 API level 一份(如 android-34) |
| Build Tools | 编译、打包 APK | 版本需与项目匹配(如 34.0.0) |
| Platform Tools | ADB、fastboot 等命令行工具 | 见 android-platform-tools |
| Emulator | Android 模拟器 | 运行虚拟设备 |
| System Images | 模拟器用的系统镜像 | x86_64 / arm64 |
| NDK | 原生 C/C++ 开发工具 | 用于 JNI、性能敏感模块 |
| CMake | 原生构建系统 | 部分原生项目使用,也可能使用其他构建方式 |
| Sources for Android | Android 框架源码 | 阅读源码、调试用 |
目录结构
以下路径与 API 34 是结构示例,不代表当前推荐版本。
D:\Android\Sdk\
├── build-tools\ # 编译工具版本
│ └── 34.0.0\
├── cmdline-tools\ # sdkmanager、avdmanager
│ └── latest\
├── emulator\ # 模拟器程序
├── ndk\ # NDK 工具链
├── platform-tools\ # adb、fastboot
├── platforms\ # 各版本 API
│ └── android-34\
└── system-images\ # 模拟器镜像
sdkmanager 命令行用法
# 列出可用包
sdkmanager --list
# 安装
sdkmanager "platforms;android-34"
sdkmanager "build-tools;34.0.0"
sdkmanager "system-images;android-34;google_apis;x86_64"
# 更新所有
sdkmanager --update
# 查看并按需接受所需组件的 license
sdkmanager --licenses
通过 Android Studio 管理
Settings > Languages & Frameworks > Android SDK
- SDK Platforms:勾选需要的 API level
- SDK Tools:勾选 Build Tools、NDK、CMake 等
环境变量
$env:ANDROID_HOME = "D:\Android\Sdk"
$env:PATH += ";$env:ANDROID_HOME\platform-tools;$env:ANDROID_HOME\emulator"
这只修改当前 PowerShell 会话;持久配置和 Command-line Tools 路径见 android-development-environment-setup。
版本选择
compileSdk决定编译时可用 API;安装对应 SDK Platform。minSdk决定最低支持的设备 API level,不能由安装了哪个 SDK 推断。targetSdk表达应用面向的系统行为版本,还受应用商店政策约束。- Build Tools、JDK、Gradle 和 Android Gradle Plugin 按项目兼容矩阵选择;不要把示例 API 34 或 Node / JDK 的某个最低版本当作所有项目的默认。
- NDK、CMake 和模拟器镜像按实际需求安装,不要求每个项目全部具备。
验证
用 SDK Manager 或 sdkmanager --list_installed 核对已安装组件,再按目标项目执行构建。adb version 只能证明 adb 可运行,不能证明整个 SDK 构建链可用。