2.3 Android 开发环境配置


2.3 Android 开发环境配置

本节摘要:Android 开发环境的三个核心件是 JDK、Android SDK 与模拟器。JDK 提供 Java 编译与运行环境,SDK 提供构建工具与平台库,模拟器让应用在没有真机的情况下运行。本节讲清三者的安装、环境变量配置与验证方法,帮你把 Android 侧的地基打牢。这套环境是 React Native 与 Flutter 两套框架共同的前置条件,值得一次配到位。

上手前先明确

阅读完本节,你应当能够:

  1. 安装 OpenJDK 11 以上版本并配置 JAVA_HOME。
  2. 通过 Android Studio 的 SDK Manager 安装必要的 SDK 组件。
  3. 配置 ANDROID_HOME 环境变量并用 adb 命令验证。
  4. 在 AVD Manager 中创建并启动 Android 模拟器。

一、问题与直觉

回想一下 1.4 节的结论:无论你选 React Native 还是 Flutter,Android 这一侧都绕不开同一套东西——JDK、Android SDK、模拟器。这就像考驾照,不管买不买车,科目二都得练。Android 开发环境就是两个框架共同面对的那道"科目二"。

新手常有一个误区:以为 Android Studio 装完就万事大吉。实际上 Android Studio 只是"容器",里面的 JDK、SDK 组件、模拟器镜像都是分开的东西,各有各的安装与配置环节。缺了任何一环,构建就会在某个不起眼的环节报错。理解这三件套的职责,比机械执行安装步骤更重要。

二、核心原理

2.1 JDK:构建的地基

JDK(Java Development Kit)提供 Java 编译器和运行时。React Native 与 Flutter 构建 Android 应用时,都要用 Gradle 工具链调 JDK 干活——把代码编译、打包成 APK。没有 JDK,Android 构建根本启动不了。

版本选择。推荐 OpenJDK 11 或更高版本。较老的项目可能仍用 JDK 8,但新项目建议从 11 起步,兼容性与新特性都更好。

安装方式。Windows 下载 .msi 安装包按向导安装;macOS 用 .dmg 拖拽安装;Linux 用包管理器安装(Ubuntu 是 apt install openjdk-11-jdk)。

环境变量。装完还要配 JAVA_HOME 与 Path,让系统能找到 java 命令。Windows 在"系统变量"里新建 JAVA_HOME 指向安装路径,再在 Path 里加 %JAVA_HOME%\bin。macOS/Linux 在 shell 配置里加 export 语句。

验证

java -version

输出版本信息即成功。这行命令是 Android 环境的第一道体检。

关于 JDK 与 JRE 的区别。偶尔会看到 JRE 这个词,简单区分:JRE 是"运行时",只能运行现成的 Java 程序;JDK 是"开发工具包",包含 JRE 加编译器、调试器等一系列开发工具。Android 构建需要的是 JDK,不是 JRE。装的时候认准 JDK 字样,别装成只有运行时的 JRE,否则编译环节会报错。

2.2 Android SDK:构建的工具箱

Android SDK 包含构建应用所需的全部工具:平台库、构建工具、平台工具、命令行工具、模拟器等。它不是单独下载的,最推荐的方式是通过 Android Studio 的 SDK Manager 管理。

SDK Manager 怎么进。首次启动 Android Studio 会引导下载 SDK;跳过了也没关系,在菜单栏 Tools 里找到 SDK Manager 随时可进。

必要的 SDK 组件。至少安装一个较新的 SDK Platform(比如 Android 13 的 API 33 或更高);SDK Tools 一侧要装 Build-Tools、Command-line Tools、Platform-Tools、Android Emulator,以及针对 CPU 架构的模拟器加速器——Intel 用户装 HAXM,AMD 用户装 Hypervisor Driver。

环境变量。配 ANDROID_HOME 指向 SDK 路径(Windows 通常在某用户的 AppData\Local\Android\Sdk),再把 platform-tools、emulator 等子目录加进 Path。

验证

adb --version

adb 是 Android 调试桥,是连接设备与电脑的通信工具。它能跑,说明 platform-tools 配好了。

SDK 目录里都有什么。配环境变量前,最好先看一眼 SDK 目录的构成:platforms 目录放着各版本的平台库,build-tools 放着构建工具,platform-tools 里有 adb,emulator 里是模拟器本体,cmdline-tools 是命令行工具。理解这些子目录的用途,配环境变量时就知道该把哪些加进 Path,报错时也能更快定位是哪个组件出了问题。很多"配置失败"其实只是 Path 里漏加了一条子目录。

2.3 模拟器:没有真机也能跑

模拟器(AVD,Android Virtual Device)让你在电脑上模拟一台 Android 设备。对新手来说,它是前期最常用的运行环境——不用买真机,不用开 USB 调试,点一下就能跑。

创建模拟器。在 Android Studio 里打开 AVD Manager,点 Create Virtual Device,选一个设备定义(比如 Pixel 系列),选一个系统镜像(建议带 Google APIs 的稳定版本),完成创建。

启动与使用。创建后点启动按钮即可运行。模拟器启动后,RN 的 run-android 与 Flutter 的 flutter run 都能自动识别并部署到它上面。

系统镜像的选择。这里有个新手常忽略的细节:系统镜像分带 Google APIs 的和不带的两类。带 Google APIs 的镜像包含 Google 服务框架,可以登录 Google 账号、测试推送等能力;不带的是纯净版,镜像更小、启动更快。前期学习建议选带 Google APIs 的稳定版本,功能更全,避免后面想测试某个能力才发现镜像缺东西。

性能调优。模拟器吃配置,首次启动慢是常态。如果卡顿明显,可以在 AVD 编辑界面降低分辨率、减少内存占用,或换更轻的设备定义。这里有个权衡:镜像越大、分辨率越高,体验越接近真机,但跑得越慢。学习阶段优先保证流畅,别一上来就追求高配。

一句话点题:JDK、SDK、模拟器是一条"编译到运行"的流水线——JDK 提供编译能力,SDK 提供构建工具,模拟器提供运行目标。缺一环,流水线就断。

2.4 为什么 ADB 值得单独认识

adb(Android Debug Bridge)这个名字听着吓人,其实就是电脑与 Android 设备(真机或模拟器)之间的通信桥梁。它负责装应用、传文件、执行 shell 命令、查看日志等一系列操作。你点一下"运行",背后可能就是 adb 在把 APK 推到设备上。

日常开发中,两条 adb 命令最常用:adb devices 查看当前连接的设备列表;adb logcat 查看设备日志(第 6 章调试会用到)。平时你可能感知不到它的存在,但它一旦缺失,构建流程立刻报"找不到设备"。所以验证阶段跑一下 adb --version,等于确认这条通信链路是通的。

三、工程实践要点

3.1 三件套速查表

组件 职责 环境变量 验证命令
JDK Java 编译与运行 JAVA_HOME、Path java -version
Android SDK 构建工具与平台库 ANDROID_HOME、Path adb --version
模拟器 无真机运行环境 由 AVD Manager 管理 启动后可见设备

这张表值得贴在显眼处。初学者最容易搞混的就是"谁负责什么、用什么验证"。其实记忆点只有两个变量(JAVA_HOME、ANDROID_HOME)和两条命令(java -version、adb --version)。它们通过,Android 环境就没有大问题;它们失败,按表格回查对应的安装环节即可。

3.2 常见报错与排查

"java 不是内部或外部命令"。JAVA_HOME 或 Path 没配好。检查环境变量路径是否正确,改完重开终端。

"ANDROID_HOME 未设置"。SDK 路径没配或配错。确认 ANDROID_HOME 指向 SDK 实际安装目录,再检查 emulator 与 platform-tools 子路径。

"无法定位 SDK 组件"。多半是 SDK Manager 里组件没装全。回 SDK Manager 检查 Platform 与 Tools 是否都勾选并安装了。

模拟器启动慢或卡死。先确认加速器装没装(HAXM 或 Hypervisor Driver),再检查电脑是否开启了硬件虚拟化。模拟器对内存和 CPU 要求不低,性能偏弱的机器建议降低模拟器分辨率。

构建报"SDK location not found"。这是 RN 项目里常见的一句报错。React Native 项目需要知道 SDK 位置,通常通过项目内的 local.properties 文件指向 SDK 路径,或依赖 ANDROID_HOME 环境变量。报错时先确认这两处至少有一处配置正确。

"INSTALL_FAILED_UPDATE_INCOMPATIBLE"。往设备装应用时提示版本不兼容,多半是设备上已装了签名不同的同名应用。卸载旧版本再装即可。

3.2.1 把报错拆成两半排查

Android 相关的报错有个通用的拆分方法:先判断报错发生在"构建阶段"还是"运行阶段"。构建阶段(打包 APK)的报错,源头通常是 JDK 版本、SDK 组件缺失、依赖下载失败;运行阶段(安装与启动)的报错,源头通常是模拟器状态、设备连接、签名冲突。拿到任何一条报错,先问自己"这是在打包时还是运行时",排查方向立刻清晰一半。这个方法对新手特别有用,因为它把"感觉哪都不对"变成"先查这一半"。

⚠️ 常见坑:JDK 装了多版本,系统 PATH 里指向了旧版本,导致框架构建报版本错误。建议统一到 JDK 11 或更高,并确认 PATH 顺序里目标版本在前。
💡 关键直觉:Android 环境配置的验证点其实就两个命令——java -version 和 adb --version。它们都通过,Android 侧的地基基本就稳了。

3.3 一个建议的配置顺序

按"JDK → SDK → 模拟器"的顺序配置最省事:先装 JDK 并验证,再装 Android Studio(顺带下载 SDK),配置 ANDROID_HOME 并验证,最后创建模拟器。这个顺序的妙处在于每步都有验证命令,错了能立刻发现,不会攒着一堆问题到最后才爆雷。

3.3.1 配置完成的完整自检

环境配完后,别急着开项目,花两分钟做一次完整自检。开一个终端,依次跑三个命令:java -version 确认 JDK、adb --version 确认 SDK 工具链、flutter doctor 或 RN 的 doctor 类检查确认框架视角。这三个命令分别对应"编译能力、构建工具、框架集成"三层。都通过了,Android 环境才算真正就绪。这个过程总共不到一分钟,却能提前拦住九成"项目跑不起来"的惨案——值得养成习惯。

3.4 从环境配置到第一台真机

模拟器解决了"没有真机也能跑"的问题,但真机仍是验证环境是否正确的最终标尺。连接真机有三步:手机开启开发者选项与 USB 调试、数据线连接电脑并允许授权、终端确认 adb 能识别设备。识别成功用 adb devices 看设备列表,出现设备即连接成功。这个流程第一次走略繁琐,但之后会非常顺——特别是测试推送、相机这类模拟器覆盖不了的能力时,真机是必需品。第 2.4 节 iOS 真机的逻辑与此类似,只是多了一道签名门槛。

温故知新

  • 三件套职责:JDK 管编译,SDK 管工具,模拟器管运行,缺一不可。
  • JDK 版本:OpenJDK 11 起步,新项目别再用 8,且认准 JDK 不是 JRE。
  • SDK 组件:Platform、Build-Tools、Platform-Tools、Emulator、加速器都要装。
  • 环境变量:JAVA_HOME 与 ANDROID_HOME 两个变量必须配对。
  • 验证命令:java -version 与 adb --version 是两道基本体检。
  • 模拟器:AVD Manager 创建,选带 Google APIs 的系统镜像,性能差就降配置。
  • 排查思路:先判断报错在构建还是运行阶段,再分头排查;报错先看环境变量,再看组件是否装全。

FAQ:Android 环境的高频问题

问:一定要装 Android Studio 吗?能不能只用命令行装 SDK? 技术上可以——Android 提供了纯命令行工具链,但新手强烈不建议。SDK Manager、AVD Manager 这些图形界面把组件管理和模拟器创建都可视化,出错率低得多。先把 Android Studio 装好把环境跑通,熟悉之后再谈"更轻量"的替代方案。

问:JDK 8、JDK 11、JDK 17 到底用哪个? 以框架要求为准。React Native 与 Flutter 官方文档对 JDK 有明确的最低版本要求,建议先看你要用的框架版本要求,再决定装哪个。一般情况下 JDK 11 是安全起点;新版 Flutter 可能要求更高,装之前扫一眼官方要求最稳。

问:模拟器和真机开发有什么区别? 模拟器方便、免费、可随时重建,适合前期开发与 UI 调试;真机环境真实、能测试硬件能力(摄像头、传感器、推送),适合功能验收与性能测试。最佳实践是两者搭配:日常开发用模拟器,涉及系统能力或要发布前用真机验证。第 6 章讲原生能力调用时会再回到这个主题。

问:换了电脑,Android 环境要全部重配吗? 是的,但配置流程是固定的。把本节的顺序(JDK → SDK → 模拟器)当作一张清单,换机时照做即可。很多团队会把这份清单写进项目文档,让新成员也能快速把环境搭起来——这个习惯值得在第一天就养成。

Android 侧就绪,接下来看 iOS——只在 macOS 上适用的一套配置,Windows 读者可以边看边记概念。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U