引言:为什么你的环境总出问题?
很多新手开发者在初次使用 Android Studio 时,往往急于创建第一个'Hello World',而忽略了底层环境的配置。结果在后续导入项目、升级版本或使用特定库时,频频遭遇 Unsupported class file major version、SDK location not found 等令人头疼的错误。
究其根本,是对 JDK(Java 开发工具包)和 Android SDK(软件开发工具包)的作用与关系理解不清。本文将为你彻底厘清这两个核心组件,并提供从零开始的详细配置指南与避坑秘籍。
一、核心概念:JDK 与 SDK 究竟是什么?
在开始配置之前,我们需要明确这两个工具包的职责。
- JDK(Java Development Kit):这是 Java 程序的编译和运行环境。因为 Android 应用最初是用 Java 编写的,且其构建系统(Gradle)本身也是 Java 程序,所以 JDK 是 Android Studio 工作的绝对前提。
- 关键点:Android Studio 从 Arctic Fox 版本开始,已内置了专门优化过的 JDK(称为 Android JDK 或 JDK 11),用于运行 IDE 本身和 Gradle。但你的项目代码可能需要指定不同版本的 JDK 进行编译。
- Android SDK(Software Development Kit):这是开发 Android 应用所特有的工具、平台库和模拟器的集合。它包含了你在代码中调用的 Android API 库、用于调试的 adb 工具、性能剖析器以及各种版本的 Android 系统镜像等。
- 关键点:SDK 与 JDK 相互独立。SDK 中的工具(如 aapt)是 C++ 编写的,但编译你的应用代码时,需要 JDK 和 SDK 协同工作。
简单比喻:把开发 App 比作造一辆汽车。
- JDK 像是工厂的通用动力系统和标准化生产线(能加工各种金属零件)。
- Android SDK 则是造汽车专用的模具、图纸和轮胎等特定零件。
- 没有 JDK,整个工厂无法启动;没有 Android SDK,你就造不出具有 Android 特征的汽车。
二、JDK 配置详解:版本选择与路径设置
这是最容易出错的地方。Android Studio 涉及两个 JDK 位置:一个给 IDE 自己用,一个给你的项目用。
1. 如何为项目选择正确的 JDK 版本?
JDK 版本并非越高越好,必须与项目的 Gradle 插件版本和编译兼容性相匹配。建议使用 JDK 11 或更高版本,这是一个安全的起点。
下表列出了常见的版本对应关系:
| 项目编译需求 | 推荐 JDK 版本 | 说明与注意事项 |
|---|---|---|
| 旧项目(维护中) | JDK 8 | 许多老项目将 sourceCompatibility 设为 1.8,使用 JDK 8 最保险。 |
| 大多数现代项目 | JDK 11(LTS) | Android Studio 内置版本,兼容性最好,长期支持,强烈推荐。 |
| 尝试最新特性 | JDK 17(LTS) | 如需使用 record 等新语法,或项目明确要求。注意部分第三方库可 |
| 重要原则 | 项目要求优先 | 打开已有项目时,务必遵循项目根目录下 gradle-wrapper.properties 或 build.gradle 文件中的要求。 |
2. 下载与安装 JDK(以 JDK 11 为例)
- 访问 Oracle 官网或 OpenJDK 站点(如 Adoptium)。推荐使用 OpenJDK 发行版,无需处理 Oracle 的许可问题。
- 选择 JDK 11 (LTS) 对应你操作系统(Windows, macOS, Linux)的安装包。
- 运行安装程序,记住安装路径(如
C:\Dev\Java\jdk-11.0.xx或/Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home)。

